所以我试图将所有以“A”开头的文件移动到某个目录。现在我现在Windows命令提示符不支持这种方法:
move A* A_Dir
但这可以与Python结合找到方法吗?或者我将不得不浏览每个单独的文件? 如:
contents=os.listdir('.')
for file in content:
if file[0] == 'A':
os.system("move %s A_Dir" % file)
......等有没有更简单,更快捷的其他解决方案? -Thanks!
答案 0 :(得分:2)
在Windows上:此示例移动以" A"开头的文件来自" C:\ 11"到" C:\ 2"
选项#1:如果您使用批处理文件,请创建批处理文件(movefiles.bat),如下所示:
<强> movefiles.bat:强>
move /-y "C:\11\A*.txt" "C:\2\"
从python脚本执行此批处理文件,如下所示:
import os
batchfile = "C:\\1\\movefiles.bat"
os.system( "%s" % batchfile)
选项#2: 使用glob&amp; shutil 强>
import glob
import shutil
for data in glob.glob("C:\\11\\A*.txt"):
shutil.move(data,"C:\\2\\")
如果我们想以move
所有files
和directory
开头的A:
import glob
import shutil
for data in glob.glob("C:\\11\\A*"):
shutil.move(data,"C:\\2\\")
基于@eryksun评论,我添加了if not os.path.isdir(data):
,如果仅需要移动以A开头的files
,则在这种情况下,目录将被忽略。
import glob
import shutil
import os
for data in glob.glob("C:\\11\\A*"):
if not os.path.isdir(data):
shutil.move(data,"C:\\2\\")