Python许多时候自己定义的函数,需要经常调用时;就可以自己定义一个模块,将常用函数写入模块里,下次使用常用函数时直接导入模块,就可以使用函数了;以下函数说明,函数功能:解决以.py脚本运行时和以.exe运行时读取文件路径兼容性问题。编写模块程序如下所示:
#!/usr/bin/env python
#encoding=utf-8
#Create by zhizaiqianli 2015-11-15 Version V1.0
#!/usr/bin/python
#description:解决以.py脚本运行时和以.exe运行时读取文件路径兼容性问题
# Filename : Mymodule.py
import os,sys
def cur_file_dir(path_py,path_exe): #获取脚本文件的当前路径
path = sys.path[0] #获取系统运行路径
#判断为脚本文件还是py2exe编译后的文件,如果是脚本文件,则返回的是脚本的目录,如果是py2exe编译后的文件,则返回的是编译后的文件路径
if os.path.isdir(path):
return path+path_py
elif os.path.isfile(path):
return os.path.dirname(path)+path_exe
编写好自己模块同时以cmd命令运行Mymodule.py编译通过后,把模块Mymodule.py文件放入Python\Lib\site-packages\mymodule路径下,mymodule为我自己命名的文件夹,在另一个模块调用自定义模块写法如下:
from Mymodule import cur_file_dir #导入自定义模块
path_py = "\\images\python.bmp" #以.py运行文件的相对路径,.py文件与images在同一目录下
path_exe = "\\images\python.bmp" #以.exe运行文件的相对路径,.exe文件与images在同一目录下
path = cur_file_dir(path_py,path_exe) #获取文件运行真实路径
print path #打印文件路径,查看文件路径是否正确