我正在编写一个必须调用其他程序的程序。所以我做了一些研究,发现了os模块。此解决方案的问题是cmd总是弹出。我怎么能避免这个?
到目前为止,我使用了这样的命令:os.system("something.py")
答案 0 :(得分:1)
您正在寻找的内容可能在subprocess
模块中找到。
现在没有关于something.py
运行时你想要做什么的任何细节,所以假设我们有一个名为test.py
的文件,它创建一个新文件并写一些东西:
<强> test.py 强>
t = r"C:\Users\Paul\Desktop\test.txt"
with open(t, 'w') as f:
f.write("This worked!")
因此,无论我们想要运行哪个程序test.py
,我们都会有以下内容:
import subprocess
f = r"C:\Users\Paul\Desktop\test.py"
subprocess.run(f, shell=True) # shell=True since this is really an arg
程序将在不打开终端的情况下执行。见这里:
>>> import subprocess
>>> f = r"C:\Users\Paul\Desktop\test.py"
>>> subprocess.run(f, shell=True)
CompletedProcess(args='C:\\Users\\Paul\\Desktop\\test.py', returncode=0)