Python,代码在命令行中工作,但请不要在尝试创建程序时使用

时间:2014-01-29 11:47:53

标签: python

......有人可以解释一下这个区别吗?

我在命令提示符下输入的内容:

sys.path.append('M:/PythonMods')

import qrcode
myqr = qrcode.make("randomtexxxxxxxxxt")
myqr.show()
myqr.save("M:/myqr.png")  

为文本制作QR​​。

我输入的代码:

sys.path.append('M:/PythonMods')

import scipy
from qrcode import myqr 

file=open('myqr3.png',"r")
myqr.show()
file.close()

它无法识别sys,是否需要导入某些内容?为什么它在命令提示符下运行?

提前感谢您的帮助。

3 个答案:

答案 0 :(得分:4)

在源文件的开头添加:

import sys

在我们审核您的代码时,在可执行的源文件中建议这样做:

import sys
sys.path.append('M:/PythonMods')
import qrcode

if __name__ == "__main__":
    myqr = qrcode.make("randomtexxxxxxxxxt")
    myqr.show()
    myqr.save("M:/myqr.png")  

因此,只有当您将代码作为文件执行时,代码才会运行,而不是在导入代码时运行。您可能希望将三行定义为函数,并在if __name__ == "__main__":部分调用函数,以便能够像任何库一样重用它!

答案 1 :(得分:1)

在脚本的顶部,请包含以下行:

import sys

答案 2 :(得分:1)

sys不是内置的,您需要明确导入它:

import sys

ipython交互式shell默认导入大量模块;也许你正在使用它来测试你的代码。 默认 Python运行时不会为您导入sys