[英]Python sh import causing Unresolved Import error in PyDev
我在python 2.7.5中使用sh来调用像curl
和mkdir
这样的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.