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.

这是我的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.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?直接传递列表是什么意思?请看一看