Python 如何将文件从一个目录移动到另一个目录?
这是我的Python脚本:Python 如何将文件从一个目录移动到另一个目录?,python,windows,Python,Windows,这是我的Python脚本: import json import csv import glob import os import shlex import subprocess os.chdir('C:/ck-master/target') path='C:/Users/AQ42770/Desktop/congress-android' for n in range(0,100): path1= path+"/"+str(n) cmd='java -jar ck-0.3.
import json
import csv
import glob
import os
import shlex
import subprocess
os.chdir('C:/ck-master/target')
path='C:/Users/AQ42770/Desktop/congress-android'
for n in range(0,100):
path1= path+"/"+str(n)
cmd='java -jar ck-0.3.2-SNAPSHOT-jar-with-dependencies.jar "%s"'
cmd = cmd % (path)
args = shlex.split(cmd)
p = subprocess.Popen(args)
它在目录C:\ck master\target
中为我返回4个CSV文件
问题是每次它都会压碎4个CSV文件并返回最后一个结果。我的期望是,对于每个迭代,它应该将文件移动到另一个文件夹,并将其命名为0到99。我将简要回答,因为问题是重复的。
直接使用python或cmd完成任务。
1) 在目录中查找文件。例如,使用os.listdir()或glob.glob()方法
2) 使用shututil复制它们或自己编写副本。这很简单-jost打开文件并用新名称将其写入新目标。 或移动-
3) 成功argh很抱歉,这段代码需要进行大规模重构。不要使用string+shlex,直接传递列表。另外,不要在子进程调用中使用
chdir
使用cwd
,加上os.path.join
而不是添加路径字符串。你应该能够使用os.rename
@Jean François Fabre为什么我不应该使用string+shlex?直接传递列表是什么意思?请看一看