这是因为在 test.bat 之后和之前的报价')在第一个 system_call()中是无效语法。 。我怎样才能解决这个问题?我似乎没有做错任何事情。 (我是python的。)import os
import subprocess
def system_call(command):
r = subprocess.call("cmd.exe /K " + "%s" % command,shell=False)
print (r)
system_call(r 'echo “@ECHO OFF\nECHO.\nECHO\n This is a batch file\nECHO.\nPAUSE\nCLS\nEXIT” > C:\Users\User\Desktop\test.bat ')
system_call('cd C:\Users\User\Desktop\ ')
system_call('test')
最佳答案
尝试更改此部分代码的引号,
“@ECHO OFF\nECHO.\nECHO\n This is a batch file\nECHO.\nPAUSE\nCLS\nEXIT”
改成
"@ECHO OFF\nECHO.\nECHO\n This is a batch file\nECHO.\nPAUSE\nCLS\nEXIT"
请注意原始报价单(您的代码)是如何弯曲的,当我用直的,非花哨的报价单替换它们时。以我的经验,花哨的人有时会引起问题。
附言这是我在Stack over flow上的第一个答案,因此我对此a之以鼻:)希望对您有所帮助
关于python-3.x - 我在用这些引号做错什么了?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47257429/