pythonのopen関数でファイルを下のようにすると[ファイルがありません]とエラーになります。
python
1w=open('script.py','r')
script.pyはDesktopの下にあります。絶対パスで実行したところしっかりファイルを開けたので、おそらくターミナルのように自分のいる位置関係しっかりしないとダメなのだろうと考えましたが、ネットや教材ではファイル名単体で開けていました。なぜでしょうか。pythonでも何か方法を使って移動しないといけないのですか?
環境はmacでatomを使っています。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
w=open('script.py','r')
は、「カレントディレクトリにあるscript.py
を開く」という意味ですので、カレントディレクトリにそのファイルが無いとエラーです。
カレントディレクトリの表示:
print(os.getcwd())
カレントディレクトリの変更:
os.chdir("/xxxx/yyy/zz")
投稿2021/01/11 07:34
総合スコア85886
0
絶対パスで動いたとのことなので
script.py
とソースファイル
が同じディレクトリ内に存在していないのではないのでしょうか?
たとえば
デスクトップ
|---script.py
|--- main.py
のようなディレクトリツリー構造になっていればmain.pyでopen('script.py','r')
を呼び出したとき同ディレクトリにあるscript.pyを探し当てて参照してくれるとおもいます.
また, Pythonコンソールのようなところで実行している場合も同様で, script.pyのあるディレクトリ内でコンソールを開かないと単にscript.py
というパスを渡しただけでは動いてくれないと思います.
投稿2021/01/11 07:30
編集2021/01/11 07:40総合スコア39
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/11 11:35 編集
2021/01/11 12:38
2021/01/11 13:56 編集
退会済みユーザー
2021/01/11 14:45 編集
2021/01/12 02:28 編集
2021/01/12 11:19
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/11 08:31
2021/01/11 08:40
2021/01/11 09:03