2017-07-12 10 views
-7

"setup.json"というファイルを開くためにこのコードがあります。 \__init__.py "、私のプログラムはEsclipseから実行されますが、ターミナルからではなく、ファイルは存在しないと言います(それはあります)

file = "setup.json" 
for f in os.listdir(os.getcwd()): 
    if f == file: 
     file = f 
with open(file,"r") as fi: 
    #(other code, irrelevant because the program crashes before this point 

setup.json他の2個のファイルとフォルダHueSunsetである:ここでは

IOError: [Errno 2] No such file or directory: 'setup.json' 

は、関連するコードです:私は私のMac上の端末から、それを実行したときに日食からではなく、私はこのエラーを取得します"および \__main__.py\__main__.pyは、このコードが実行されているファイルです。続き

+0

ファイルのパーミッションをチェックして、あなたのスクリプトは、「私のIDEでの作品は、」適切ではありませんので、私は、オフトピックとして、この質問を閉じるために投票してるファイル – ryekayo

+0

にアクセスできることを確認します。 – duffymo

+0

@duffymo私はそれが動作することを示し、コードが問題ないことを示しているので、問題はターミナルからそれを実行するときに何らかの問題が発生するためです。 –

答えて

0

は、私が思い付くことができ例です:

  1. クリアのIDEキャッシュと再実行
  2. は、同じ名前を持つ別のファイル
  3. ファイル許可のチェックを持っていないことを確認してください
  4. 最後に、オンラインエディタでコードを実行して、実行しているコードが正しいことを確認することができます。はいの場合は、ファイルと場所の問題です。
+0

お返事ありがとうございます! 1)私の人生のためにこれを行う方法を理解できませんでした2)同じ名前の別のファイルがありません3)私はすべてのファイルをロック解除したので、ここに問題はないはずです4)ファイルをオンラインエディタに追加した後に正常に実行されました。私のファイルの場所は正しく参照されています。私はかなり確信しています。 –

0

現在のディレクトリでコードが見つからない場合、コードはfileのまま変わりません。現在のディレクトリは、スクリプトを実行するときのディレクトリです。

これを試してみてください:

file = "setup.json" 
for f in os.listdir(os.getcwd()): 
    if f == file: 
     break 
else: 
    print("Oops. File not found") # or in real production code, raise an exception 
with open(f,"r") as fi: 
    #rest of your code 
関連する問題