首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python,代码在命令行中工作,但在尝试创建程序时不起作用,请

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

Stack Overflow用户
提问于 2014-01-29 11:47:53
回答 3查看 144关注 0票数 1

..。有人能解释一下这种区别吗?

我在命令提示符中键入的内容:

代码语言:javascript
复制
sys.path.append('M:/PythonMods')

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

为课文做一个QR。

我输入的代码:

代码语言:javascript
复制
sys.path.append('M:/PythonMods')

import scipy
from qrcode import myqr 

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

它不承认sys,我需要进口什么吗?为什么它在命令提示符中运行?

提前感谢您的帮助。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-29 11:50:01

在源文件开始时添加:

代码语言:javascript
复制
import sys

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

代码语言:javascript
复制
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__":部件中调用您的函数,以便能够像任何库一样重用它!

票数 4
EN

Stack Overflow用户

发布于 2014-01-29 11:50:17

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

代码语言:javascript
复制
import sys
票数 1
EN

Stack Overflow用户

发布于 2014-01-29 11:50:54

sys不是内置的,您确实需要显式导入它:

代码语言:javascript
复制
import sys

默认情况下,ipython交互式shell导入了许多模块;也许您正在使用它来测试代码。默认的Python运行时不会为您导入sys

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21430236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档