......有人可以解释一下这个区别吗?
我在命令提示符下输入的内容:
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
,是否需要导入某些内容?为什么它在命令提示符下运行?
提前感谢您的帮助。
答案 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
。