以绝对路径作为参数从enthought canopy运行python脚本

时间:2014-11-26 04:40:04

标签: python command-line-arguments enthought canopy

我想在enthought canopy v1.5.0.2717中运行python脚本,无论是在mac还是windows中,并使用运行配置对话框提供绝对文件路径作为参数。

在运行配置中我放了一个参数(例如):

'/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获得相同的结果?

1 个答案:

答案 0 :(得分:0)

shell会将双引号内的所有内容分组为单个参数,而不是单引号。

>type showme.py
import sys
print(sys.argv[1:])


>python showme.py 'i am sad'
["'i", 'am', "sad'"]
>python showme.py "i am happy"
['i am happy']