浙江省高等学校教师教育理论培训

微信搜索“教师资格证岗前培训”小程序

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

节选自limdou在邮件列表中的

 

1. config.ini所在的目录应该是运行目录,而不是当前目录。当前目录有可能随时在变,而运行目录则与程序所在的位置有关。
2. sys.path是Python导入模块时搜索的目录,与当前目录无关。在windows下会自动将运行所在的目录加入sys.path,在linux可能就不同的。不知道你在linux下试过吗?

其实你的问题应该是:config.ini与执行文件是在一个目录下或是根据执行文件可以找到config.ini文件。因此只要找到执行文件所在的目录就可以找到config.ini了。并不需要当前目录。应该是使用

os.path.dirname(sys.argv[0])

当运行时sys.argv[0]就是你执行文件的命令行,通过os.path.dirname()可以得到它的目录。它可以是相对路径也可以是绝对路径。

另外如果你是想找导入某个模块相关的文件,可以在导入模块后使用mod.__path__[0]找到它的路径,或os.path.dirname(mod.__file__)找到路径

posted on 2010-09-22 20:21  lexus  阅读(168)  评论(0编辑  收藏  举报