这是因为在 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/

10-11 12:14