是否可以通过os.rename或shutil.move将目录中的所有文件移动到同一目录的子目录中?
例如,如果我有以下结构:
我可以得到以下结构:
最佳.-
编辑:最后我使用以下代码解决了我的问题:
for fname in os.listdir(src):
if os.path.isfile(os.path.join(src, fname)):
os.rename(os.path.join(src, fname), os.path.join(dst, fname))
非常感谢你们两个人!
答案 0 :(得分:3)
我希望这可以提供帮助:
import shutil,os,os.path
def walk(top):
directory = None
for root, dirs, files in os.walk(top, topdown=False):
for name in dirs:
directory = os.path.join(root, name)
for name in files:
f1 = os.path.join(root, name)
if not f1.endswith('.py') and directory:
shutil.move(f1,directory)
walk(os.path.realpath(os.curdir))
我尝试使用这个fs树,它可以工作:
-d/
|-s/
|-new file.txt
|-new file1.txt
|-move.py