2017-06-30 6 views
1

私は、.jpgのファイルを別のファイルに移動するためのPythonスクリプトを作成しようとしていましたが、プログラム自体(一見)ファイルが実際には1つのフォルダから別のフォルダに移動することはありません。これはスクリプトです:私は、両方のコマンドプロンプトとIDLEエディタモジュールを介してスクリプトを実行しようとしました、とさえPythonの3.xのは、私の環境変数でパスとして設定されているShutil.move pythonスクリプトがファイルを実行していない、または移動していない

import shutil 
    from os.path import join 
    import os 

    source = join('C','Users','Francisco','Desktop','Test') 
    destination1 = join('C','Users','Francisco','Desktop','Archive1') 

    for files in source: 
     if files.endswith(".JPG"): 
      shutil.move(source,destination1) 

    print("Task completed"); 

が、何も動いていないようにみえ。私は、あるフォルダから別のフォルダに画像を移動することができなくなって非常に不満になってしまいました。あなたがこの問題が何であるかを理解するのを助けてくれるかどうかを確認したいのですが、スクリプト自体やPythonソフトウェア私のコンピューターで。

私はPythonスクリプトで初心者ですので、どんな助けでも大歓迎です。前もって感謝します。

+0

は、あなたがしようとしましたいくつかのものを印刷する? 'for source in file:'はあなたが思っていることをしていません。そのループの中に 'print(files)'を入れて、実際に何をしているのかを見てください。 – smarx

+0

'C'ドライブレターの後にコロンを忘れた場合... –

+0

コロンを追加してループ内の欠陥を理解したら、' glob.glob'を検索して、必要なファイル名を取得する方法を見つけてください。 – smarx

答えて

0

はあなたがいない実際のフォルダから、あなたのsourceパスの文字をループしている、クイックフィックス:あなたは、あなたのコード内のいくつかのバグを持っている

import os 
import shutil 

source = os.path.join('C:\\', 'Users', 'Francisco', 'Desktop', 'Test') 
destination1 = os.path.join('C:\\', 'Users', 'Francisco', 'Desktop', 'Archive1') 

for filename in os.listdir(source): 
    if filename.lower().endswith(".jpg"): 
     shutil.move(os.path.join(source, filename), destination1) 

print("Task completed") 
0

import shutil 
from os.path import join 
import os 

source_dir = join('C:/','Users','Francisco','Desktop','Test') 
dest = join('C:/','Users','Francisco','Desktop','Archive1') 
files = os.listdir(source_dir) 

for source in files: 
    if source.endswith(".JPG"): 
     shutil.move(source, dest) 

print("Task completed"); 
関連する問題