gpt4 book ai didi

python - 无法从 Eclipse 中的 Pydev 环境运行 shell 脚本

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:18:36 25 4
gpt4 key购买 nike

我使用的是Centos 7.0,在Pydev环境下安装了Eclipse Kepler。我想使用子进程通过 Python 运行一个简单的 c shell 脚本,如下所示:

import subprocess
subprocess.call(["./test1.csh"])

这个 c shell 脚本在终端中执行,如果我运行像“ls”或“”pwd 这样的命令,那么我会得到正确的输出,例如

subprocess.call(["ls"]) # give me the list of all files
subprocess.call(["pwd"]) # gives me the location of current directory.

但是当我运行 subprocess.call(["./test1.csh"]) 时,出现以下错误:

Traceback (most recent call last):
File "/home/nishant/workspace/codec_implement/src/NTTool/raw2waveconvert.py", line 8, in <module>
subprocess.call(["./test1.csh"])
File "/usr/lib64/python2.7/subprocess.py", line 524, in call
return Popen(*popenargs, **kwargs).wait()
File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception
OSError: [Errno 13] Permission denied

我哪里错了?请建议

最佳答案

确保文件 test1.csh 是可执行的。正如 Lukas Graf 评论的那样,还要检查第一行中的 shebang (#!...)。

为了确认这一点,在通过 Python 运行它之前,先在 shell 中运行它。

$ ls -l test1.csh
...
$ ./test1.csh

当前工作目录将与您在终端中运行时不同。指定 shell 脚本的完整路径。或者更改 PyDev 中的工作目录配置。

更新

添加 shell 可执行文件:

import subprocess
subprocess.call(["csh", "./test1.csh"])

关于python - 无法从 Eclipse 中的 Pydev 环境运行 shell 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26345286/

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