私はそのようなdirツリーを持っています:
dir1 - dir2 - dir3 - file1.java - file2.java - file3.cpp
*.javaファイルのみを現在のディレクトリの「java_files」という新しいディレクトリに移動したいと思います。どうやって作るの?私はshutildocを読みましたが...
これ:
def moveFiles() :
source = "."
destination = "java_files"
if os.path.isfile(source):
shutil.move(source, destination)
まったく動作しません...
代わりにシェル「mv」を使用したくありません!
編集:
私もこれを試しました:
def moveFiles() :
source = "."
destination = "java_files"
dirList = os.listdir(source)
for fname in dirList:
if fname.endswith(".java") :
shutil.move(source, destination)
しかしそれは与える:
File "test.py", line 95, in <module>
main() File "test.py", line 91, in main
moveFils() File "test.py", line 82, in move
shutil.move(source, destination) File "/usr/lib/python2.7/shutil.py", line 295, in move
raise Error, "Cannot move a directory '%s' into itself '%s'." % (src, dst) shutil.Error:Cannot move a directory '.' into itself 'java_files'.