为了账号安全,请及时绑定邮箱和手机立即绑定

Python sh导入在PyDev中导致未解决的导入错误

Python sh导入在PyDev中导致未解决的导入错误

子衿沉夜 2021-04-05 12:10:51
我在python 2.7.5中使用sh来调用shell程序,例如curl和mkdir,但是在Eclipse 4.3.0下的PyDev插件2.7.5中。下面的行给出了一个Unresolved Import错误:from sh import curl, printenv, mkdir, cat我可以在python shell中运行以上代码。我的确在“偏好设置”窗口sh的Libraries窗格中包含要包含的路径Interpreter - Python,所以我认为这不是问题。
查看完整描述

2 回答

?
倚天杖

TA贡献1828条经验 获得超3个赞

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


from subprocess import call

dir_name = '/foo/bar/'

call('mkdir %s'%dir_name, shell=True)


查看完整回答
反对 回复 2021-04-06
?
慕莱坞森

TA贡献1810条经验 获得超4个赞

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


import subprocess

testSubprocess = subprocess.Popen(['mkdir', dir_name], stdout=subprocess.PIPE)

testOut, testErr = testSubprocess.communicate()


查看完整回答
反对 回复 2021-04-06
  • 2 回答
  • 0 关注
  • 164 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信