繁体   English   中英

Python sh导入导致PyDev中的Unresolved Import错误

[英]Python sh import causing Unresolved Import error in PyDev

我在python 2.7.5中使用sh来调用像curlmkdir这样的shell程序,但是在Eclipse 4.3.0下的PyDev插件2.7.5中。 以下行给出了Unresolved Import错误:

from sh import curl, printenv, mkdir, cat

我能够在python shell中运行上面的代码。 我确实在首选项的Interpreter - Python窗口的Libraries窗格中包含了sh的路径,所以我不认为这是问题所在。

尝试使用子进程模块来调用控制台命令。 例如:

from subprocess import call
dir_name = '/foo/bar/'
call('mkdir %s'%dir_name, shell=True)

比如Bill说,子进程在这里是个不错的选择。 我个人建议使用Popen,因为它不会阻塞,并允许您等待命令完成其communic()方法,该方法还返回stdout和stderr。 另外,尽可能避免使用shell = True。 用法:

import subprocess
testSubprocess = subprocess.Popen(['mkdir', dir_name], stdout=subprocess.PIPE)
testOut, testErr = testSubprocess.communicate()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM