Python 为什么代码:os.popen(&x27;move*.bin tmp)只移动一个文件?

Python 为什么代码:os.popen(&x27;move*.bin tmp)只移动一个文件?,python,Python,全部, 目前,我在WIN中编写了一个python代码,我想运行命令行代码 move *.bin tmp 但只删除了一个文件 我怎样才能使波本完成这项任务 最好的祝愿 移动进程正在等待您读取其输出 我建议改为使用子流程模块并调用communicate()(;只需忽略关于p1的部分,并在代码中省略stdin=p1.stdout,。shutil.move(src,dst) 递归地将文件或目录(src)移动到另一个位置(dst) 如果目标是目录或指向目录的符号链接, 然后src被移动到该目录中 目标目

全部,

目前,我在WIN中编写了一个python代码,我想运行命令行代码

move *.bin tmp
但只删除了一个文件

我怎样才能使波本完成这项任务


最好的祝愿

移动
进程正在等待您读取其输出

我建议改为使用
子流程
模块并调用
communicate()
(;只需忽略关于
p1
的部分,并在代码中省略
stdin=p1.stdout,

shutil.move(src,dst) 递归地将文件或目录(src)移动到另一个位置(dst)

如果目标是目录或指向目录的符号链接, 然后src被移动到该目录中

目标目录必须不存在。如果到达目的地 已存在但不是目录,可能会被覆盖 具体取决于os.rename()语义

如果目标位于当前文件系统上,则使用os.rename()。
否则,src将被复制(使用copy2())到dst,然后被删除。

我建议使用Pythons自己的模块,而不是Windows工具(同样也是Patrick建议的)。我认为这样做会奏效:

import glob
import shutil

dest = 'c:/tmp/'

# Get all the files as a list with glob
files = glob.glob('c:/files/*.bin')

# move each file seperatly
for filename in files:
    shutil.move(filename, dest)
或者简而言之:

import glob, shutil
for f in glob.glob('c:/files/*.bin'):
    shutil.move(f, 'c:/tmp/')

显示一些代码!我们只是在猜测你是怎么做的!如果其中任何一个答案对你有帮助,那就接受它吧。如果您有任何问题,请在回答中添加评论。感谢您对“shutil”Thx的建议,而“shutil”对我的任务很有帮助。