python os.rename目录不为空
我试图用python来做mv test dir/*./。我已经编写了以下代码,但是抛出了python os.rename目录不为空,python,python-os,Python,Python Os,我试图用python来做mv test dir/*./。我已经编写了以下代码,但是抛出了OSError:[Errno 66]目录不是空的: import os os.rename( os.getcwd() + '/test-dir', os.path.abspath(os.path.expanduser('.'))) 您告诉操作系统移动测试目录,而不是它的内容。它通常会替换目标(在本例中为),但该目标显然不是空的,因此隐式rmdir失败。即使它不是空的,也可能无法删除或
OSError:[Errno 66]目录不是空的:
import os
os.rename(
os.getcwd() + '/test-dir',
os.path.abspath(os.path.expanduser('.')))
您告诉操作系统移动
测试目录
,而不是它的内容。它通常会替换目标(在本例中为
),但该目标显然不是空的,因此隐式rmdir
失败。即使它不是空的,也可能无法删除或替换
名称
shell*
是一个,它将扩展到test dir
中的每个东西,您可以单独移动这些东西;但是,您希望将它们的名称转移到目标目录,即testdir/foobar
到/foobar
。可以帮你提取那部分 您可能希望使用以迭代方式将文件从一个目录移动到另一个目录。比如说,
import os
import shutil
from_dir = os.path.join(os.getcwd(),"test-dir")
to_dir = os.path.abspath(os.path.expanduser('.'))
for file in os.listdir(from_dir):
shutil.move(os.path.join(from_dir, file), to_dir)
我可以通过子流程调用使用
mv
@abc