2017-07-04 10 views
0

同様のjpgファイルをコピーするのに役立つコードを作成したかったので、ファイルが存在するかどうかを知ることが重要でした。私は次のコードを書いたことについてはos.path.isfileがif文と一緒に動作しない

from os import path 
import shutil 



oldfile = input("Which file do you want to copy? write that in numbers : ") 
fadress = input("What is your file adress : ") 
newfadress = input("Where do you want to copy your file : ") 

f_num2 = oldfile.split('-') 


for each_num in f_num2: 
     print(each_num) 
     newname = '_DSC{}.JPG'.format(each_num) 
     new2 = 'DSC_{}.JPG'.format(each_num) 
     if path.isfile(fadress + '\\' + newname): 
      shutil.copy(fadress + '\\' + newname, newfadress) 
      print(newname) 
     elif path.isfile(fadress + '\\' + new2): 
      shutil.copy(fadress + '\\' + new2, newfadress) 
      print(new2) 

それは前に働いていますが、あれば文はIをos.path.isfileのfunction.Whatの出力をすべき服用していないようだstatements.But場合このコードを動作させるには?

+1

'path.isfile'関数は、魅力のように機能します。あなたのパスはおそらく間違っています。 'fadress + '\\' + newname'を表示して、あなたが期待しているものかどうかを確認することをお勧めします。 –

+0

'path.isfile(path.join(fadress.strip()、newname))' –

+0

デバッグのための出力を教えてもらえますか? 'print fadress + '\\' + newname'と' print path.isfile(fadress + '\\' + newname) 'を追加してください。 – hungryWolf

答えて

1

を使用してパスを使用する前に、fadressを削除することはできますか?

path.isfile(path.join(fadress.strip(), newname)) 

fadressを読んでいる間にストリップしますか?

fadress = input("What is your file adress : ").strip() 
+1

yupのSTDINからの新しい行が問題になることがあります – hungryWolf

関連する問題