【发布时间】:2014-11-26 14:39:13
【问题描述】:
我想在 mac 或 windows 中从 enthought canopy v1.5.0.2717 运行 python 脚本,并使用运行配置对话框提供绝对文件路径作为参数。
在运行配置中我放了一个参数(例如):
'/Users/dir/Data/University stuff/CQT/Data/ScriptRunFolder/testingPythonRfRamp.xml'
我的脚本包含以下代码:
import sys
print sys.argv[1]
然后我点击“运行”,打印出来的字符串是:
'/Users/dir/Data/University'
另一个例子是使用路径:
'C:\User\Program files\test.txt'
它会打印出来
'C:UserProgram'
看起来它在空格处分割路径,并删除“\”。
从命令行运行脚本,如:
$python myScript.py '/Users/dir/Data/University stuff/CQT/Data/ScriptRunFolder/testingPythonRfRamp.xml'
得到正确的打印字符串:
'/Users/dir/Data/University stuff/CQT/Data/ScriptRunFolder/testingPythonRfRamp.xml'
如何使用 Canopy 获得相同的结果?
【问题讨论】:
-
使用 os.path.sep 来识别正在运行的操作系统中的当前文件分隔符
-
你尝试了什么,你看到了什么错误信息,你为什么不发布一些代码?
-
@ShawnZhang 我更多地考虑空间。我知道并且我假设用户知道要使用什么文件分隔符。加上“\”是python字符串中的一个特殊字符,我应该在路径中输入它作为“\\”吗?以及如何表示路径中的空格?
-
您能否编辑您的帖子以包含您正在运行的命令以及您的代码?
-
当你说你“通过了一个论点”时,你的意思是你跑了
python myScript.py '/Users/dir/Data/University stuff/CQT/Data/ScriptRunFolder/testingPythonRfRamp.xml'?另外,您能否粘贴涉及系统参数的相关代码部分(可能是实际行周围 +/- 5 行以提供上下文)?
标签: python command-line-arguments enthought canopy