[英]if __name__ == “__main__” on Imports
我正在处理两个python文件。 一旦完成,我计划从另一个呼叫另一个:
main.py
import os, re, time, logging, sys, subprocess, operator, datetime, pprint, dbfread, collections, calendar, xlwt, xlrd, errno, platform, stat
import subfile
# A long body of codes that does things
subfile.py
import os, re, time, logging, sys, subprocess, operator, datetime, pprint, dbfread, collections, calendar, xlwt, xlrd, errno, platform, stat
# Another long body of codes that does things
如果我调用main.py,我希望它也可以运行subfile.py
。 有时,我将单独运行subfile.py
并希望它自己正常运行。 现在,在subfile.py
,应该将导入命令嵌套在if __name__ == "__main__"
吗?
subfile.py
if __name__ == "__main__":
import os, re, time, logging, sys, subprocess, operator, datetime, pprint, dbfread, collections, calendar, xlwt, xlrd, errno, platform, stat
# Another long body of codes that does things
不,通常,将导入文件放在文件顶部,然后让python管理它。 在某些情况下,应将导入内容放在类/方法/函数中,但这不是其中一种。
如果事情变得更复杂,则可以将导入内容放在软件包的__init__.py
中。
如果您的动机是避免完全导入同一模块,请不要担心。
导入一个已经导入的模块几乎是无操作的,基本上只是对模块的一次查询。
因此,没有任何好处,只是使程序变得更复杂,更易读的缺点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.