今日红缨在手 发表于 2013-1-1 22:36:41

python模块导入(import)问题彻底解决

python模块导入(import)问题彻底解决

<div id="cnblogs_post_body">      众所周知,python既可以导入包(import package),也可以导入模块(import module),package一般理解为多文件的模块,它是这样定义的,如果一个目录下存在”__init__.py”这个文件,那么python就认为这个目录下的所有文件同属于一个package(这和java的namespace有点像,但是java可不需要这么个特殊文件),如果没有这个文件,那么python认为目录下的py文件都是不相干的独立模块。但是在子目录中你可不能这么干,如果子目录中没有”__init__.py”,那么该目录下的程序算是白写了,根本没有办法引用。当然,也不是绝对的,除非绕个大弯儿:设置当前目录,然后导入,然后重设当前目录。比如,程序需要使用test目录中的模块,而test目录不是package,你只能这样做:
<div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"> <div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet">   1: os.chdir("test")   2: import testfuncs   3: os.chdir("..")
页: [1]
查看完整版本: python模块导入(import)问题彻底解决