if __name__ == “__main__” on Imports
我正在处理两个python文件。一旦我完成了,我计划从另一个打电话给另一个:
1 2 3 4 5 6 7 8 | 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打电话,我希望它也能运行
1 2 3 4 | 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管理它。在某些情况下,导入应该放在类/方法/函数中,但这不是其中之一。
如果情况变得更复杂,您可以将进口货物放在