我试图编写一个 Python 2.7 脚本来处理 Unix 目录输入并将输入用作参数来启动另一个程序。
但是,我遇到了一个问题,python 的 str() 函数不喜欢输入中的斜线。当我尝试使用斜杠 str() 输入时,就像:
inputData = str(input('Put directory here:')) // OS is Mac OS X
> Put directory here: /User/username/abc.file
...
SyntaxError: invalid syntax
我认为这是由于 str() 不能自然地处理带有斜杠的字符串,因为如果我在输入过程中手动在每个站点上添加引号(键盘输入“/User/username/abc.file”),则不会触发此错误.
由于这个脚本需要处理用户输入,我希望它可以自动添加引号。我尝试了以下四处走动:
inputDataRaw = input('Put directory here:')
if (not inputDataRaw.startswith('"')) and (not inputDataRaw.startswith("'")):
inputDataRaw = '"' + inputDataRaw
if (not inputDataRaw.endswith("'")) and (not inputDataRaw.endswith('"')):
inputDataRaw = inputDataRaw + '"'
inputData = str(inputDataRaw)
但显然输入值不能在没有 str() 的情况下存储在 inputDataRaw 中,并且第一行直接触发了同样的错误。看起来所有在 python 中转义斜线的函数如果不先形成一个字符串就无法工作。
有人能指出解决这个问题的正确方法吗?谢谢。