gpt4 book ai didi

python subprocess.call() "no such file or directory"

转载 作者:太空狗 更新时间:2023-10-29 17:33:12 24 4
gpt4 key购买 nike

我在该模块上发现了一些问题,但更常见的问题似乎是让参数列表正确,我认为我已经(最终)管理好了

我正在尝试运行一个程序,该程序需要在命令行中输入这样的内容,

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

并且通常在任何目录中工作而无需指定完整路径。

最佳答案

which fits2ndf 将显示 fits2ndf 的路径。

之后,您可以编写代码的给定完整路径,它应该可以工作。

例如:

~$ which mv
/bin/mv

我的 python 代码:

import subprocess

subprocess.call(["/bin/mv","/tmp/a","/tmp/b"])

关于python subprocess.call() "no such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13786797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com