在目录中移动文件

时间:2013-11-05 19:05:03

标签: python

我有一个名为parent的文件夹,其中包含大约10个文件。我希望能够将这10个文件复制到新文件夹,比如说new_parent(目录已经存在)。

我导入shutil并尝试了类似的内容:

move('path/to/parent', '/path/to/new_parent')

但是当我这样做时,它也会复制parent,因此new_parent看起来像new_parent/parent/*10 files*

我也尝试过:

for file in os.listdir('path/to/parent'):
    move(file, '/path/to/new_parent')

但是当我这样做时,我得到一个错误,说没有这样的文件或目录:'file1'

有人能指出我做错了什么,所以我可以移动10个文件而不复制parent文件夹吗?

2 个答案:

答案 0 :(得分:1)

试试这个

for file in os.listdir('path/to/parent'):
    move('path/to/parent'+os.path.sep+file, '/path/to/new_parent')

答案 1 :(得分:0)

当您在现有目录中移动时,必须为每个文件运行它: -

shutil.move(os.path.join(root, filename), os.path.join(destDir, filename))

根据python移动API文档
http://docs.python.org/2/library/shutil.html#shutil.move
1.如果目标是目录或目录的符号链接,则src将移动到该目录中 2.目标目录必须不存在。