【发布时间】:2012-12-09 10:54:50
【问题描述】:
我在模块上发现了一些问题,但更常见的问题似乎是我认为我已经管理的参数列表正确(最终)
我正在尝试运行一个程序,该程序需要在命令行中输入这样的输入,
fits2ndf in out
'in' 是要转换的文件的文件路径,'out' 是保存结果的路径和文件名。
所以使用子进程,
subprocess.call(["fits2ndf","/media/tom_hdd/Transfer/reference.fits","/media/tom_hdd/Transfer/reference.sdf"])
这引发了,
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/subprocess.py", line 493, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1249, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
设置shell=TRUE(我知道这很糟糕)会产生相同的结果。不确定它是否相关,但我正在使用 tcsh。有什么建议吗?
根据问题进行编辑
我没有永久设置 PATH,但是 fits2ndf 是我使用初始化的程序包的一部分
% tcsh
% setenv STARLINK_DIR /home/tomq/star-kapuahi
% source $STARLINK_DIR/etc/login
% source $STARLINK_DIR/etc/cshrc
并且通常在任何目录中都可以在不指定完整路径的情况下工作。
【问题讨论】:
-
fits2ndf在您的路径中吗? -
对不起,我不太明白你的问题,fits2ndf 包含在另一个目录中,但在没有完整路径的情况下在其他地方运行良好,但它不应该是 .fits 文件路径的一部分。
-
@Karthik 指的是您的 PATH 环境变量。你的 $PATH 中是否包含
fits2ndf的目录,并且是 PATH 导出的? -
如果你给出
fits2ndf的完整路径应该没问题。例如:/home/foo/fits2ndf -
是时候承认我对 unix 很陌生,并且通过遵循教程和提问来解决问题。 fit2ndf 几乎可以肯定不在我的道路上。问题已编辑,因为我无法在此处正确格式化代码?
标签: python subprocess tcsh