【Python】调用subprocess批量执行命令(解决os.system弹出窗口)
✨需求分析
遍历data/val.txt与data/test.txt中的图片名称
从所有train图片中筛选出val test
实现思路:遍历txt后调用DOS命令批量复制图片
✨os.system
详细介绍 点击直达 -> Python官方文档
但是批量调用命令时遇到了问题
笔者这里是每次调用完一条命令后都会在vsc中重新打开.py
(这里可能跟默认文件关联有关 也有的是会反复弹出cmd窗口)
关闭vsc后才会效用下一条命令
✨subprocess.run
!run()
函数是在 Python 3.5 被添加的
详细介绍 点击直达 -> Python官方文档
✨代码实现
import os
import subprocess
with open("../ImageSets/val.txt", "r") as f:
lines = f.readlines()
tmp = []
for i in lines:
tmp.append(i.replace("\n", ".jpg"))
print(tmp)
for i in tmp:
subprocess.run("xcopy " + i + " /D val", stdout=False, shell=False)
print("[Done]" + " xcopy " + i + " /D val")
# os.system("xcopy " + i + " /D val") # 每次调用会弹出窗口
✨参考及引用
https://islet.blog.csdn.net/article/details/84376429
https://docs.python.org/zh-cn/3.8/library/os.html
https://docs.python.org/zh-cn/3.8/library/subprocess.html
⭐转载请注明出处
本文作者:双份浓缩馥芮白
原文链接:https://www.cnblogs.com/Flat-White/p/14732115.html
版权所有,如需转载请注明出处。