Python 在os.system或os.popen错误中使用百分比登录
我正试图通过使用用户定义的字符串%打开一个带有exe的文件,这对我来说是行不通的。我试过os.system和os.popen。我一直收到这个Python 在os.system或os.popen错误中使用百分比登录,python,Python,我正试图通过使用用户定义的字符串%打开一个带有exe的文件,这对我来说是行不通的。我试过os.system和os.popen。我一直收到这个 TypeError:不支持%:“file”和“str”的操作数类型 我能做些什么使它工作 def showhelp(): defaulteditor=“notepad.exe” 打印“[*]要使用哪个文本查看器?[默认:记事本]” 其中=原始输入(“\n\n\n为记事本键入n,或指定program.exe>”) 如果是哪一个!=“n”: os.popen(
TypeError:不支持%:“file”和“str”的操作数类型 我能做些什么使它工作
def showhelp():
defaulteditor=“notepad.exe”
打印“[*]要使用哪个文本查看器?[默认:记事本]”
其中=原始输入(“\n\n\n为记事本键入n,或指定program.exe>”)
如果是哪一个!=“n”:
os.popen('notepad./help.txt')
其他:
os.popen(“%r”)%(其中)
试试看
相反
%
格式化运算符需要左侧的格式字符串和右侧的参数。此外,如果只有一个参数,则不需要括号。也许这有助于回答您的问题:
>>> def printy(string):
print string
>>> printy("hello %s" % "world")
hello world
>>> printy("hello %s") % "world"
hello %s
Traceback (most recent call last):
File "<pyshell#278>", line 1, in <module>
printy("hello %s") % "world"
TypeError: unsupported operand type(s) for %: 'NoneType' and 'str'
>>>
def printy(字符串):
打印字符串
>>>printy(“你好%s”%“世界”)
你好,世界
>>>printy(“你好%s”)%%“世界”
您好%s
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
printy(“你好%s”)%%“世界”
TypeError:不支持%的操作数类型:'NoneType'和'str'
>>>
如您所见,您没有在正确的位置包含%运算符或其补充项
您甚至可以查阅以下文档:
还包括在python附带的python帮助文档中。如果您使用而不是不推荐的方式进行调用,则可以避免此问题,并有一个更干净的程序
>>> def printy(string):
print string
>>> printy("hello %s" % "world")
hello world
>>> printy("hello %s") % "world"
hello %s
Traceback (most recent call last):
File "<pyshell#278>", line 1, in <module>
printy("hello %s") % "world"
TypeError: unsupported operand type(s) for %: 'NoneType' and 'str'
>>>