0

我有一个名为的文件夹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'

谁能指出我做错了什么,这样我就可以在不parent复制文件夹的情况下移动 10 个文件?

4

2 回答 2

1

尝试这个

for file in os.listdir('path/to/parent'):
    move('path/to/parent'+os.path.sep+file, '/path/to/new_parent')
于 2013-11-05T19:12:16.623 回答
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. 目标目录必须不存在。

于 2013-11-05T19:09:55.067 回答