
其实, *** 作系统中实际只有一种路径,那就是绝对路径。 相对路径,只是程序自己帮我们修改为绝对路径了。
*** 作系统的程序运行器利用环境变量,为我们把相对路径生成为绝对路径。getcwd()函数用于得到当前进程的当前工作路径。也就是相对路径的起始点。
在Python中,可以使用os.chdir函数切换当前工作路径。
当前工作路径,是程序执行时所在的路径。 我们在哪个目录下执行程序,当前路径就是哪一个目录。
我们常常需要在python中执行一些源码目录下的文件。如,我们可能需要用eval动态执行一个python源文件。或者copy一些配置文件到目标系统的路径下。此时,我们无法知道这些文件的绝对路径,因为我们不能预知用户会把我们的程序安装到哪一个目录下。
我们也不能依赖于当前工作路径。因为用户很可能不在我们的源码目录下执行我们的程序。
那么,此时我们如何得到源码目录下文件的绝对路径呢?
我是这样做的:
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
方法一:函数添加1 import sys
2 查看sys.path
3 添加sys.path.append("c:\\")
方法二:修改环境变量
w用户可以修改系统环境变量PYTHONPATH
方法三:增加.pth文件,推荐!
在site-packages添加一个路径文件,如mypkpath.pth,必须以.pth为后缀,写上你要加入的模块文件所在的目录名称就是了。
1 windows
c:\python27\site-packages
# 我们的学员把pth文件直接放在c:\python27
# (或其他python安装目录)目录下测试也是有效的
# 2015.9.23
2 linux(ubuntu)
/usr/local/lib/python2.7/dist-packages (note by shanql, 我是放在这个目录下有效的,所添加的目录一定要存在,不存在则会不成功)
2 linux(redhat)
/usr/lib/python2.7/site-packages
本人python菜鸟一枚,在学习python过程中,经常要按照教程编写一些模块和函数练手,刚开始只是在python shell中编写,但是如果出错就会非常悲剧,又要从头开始编,而且重启python后也要重新编写模块。所以希望能像bash编程那样将脚本路径添加到环境变量中,这样修改起来也方便。以下内容均来源于网络及本菜鸟。摘要:本文叙述了如何在linux环境下添加python模块的路径,第1部分介绍了如何查看python环境变量,第2部分介绍了如何将脚本放入python自带的环境变量目录中,第3部分介绍了如何将目录放入python的环境变量中重启python失效,第4部分介绍了如何为python添加永久环境变量目录。这些方法可以使模块的修改和重复使用更加方便,不用重复输入。
1、首先,可以用python中的内建模块sys来查看python的环境变量。
这些目录都是python的环境变量。
2.接下来本菜鸟尝试一下如果将提前写好的python脚本放入这些目录中,能不能在python中使用。别问为什么跑题,本菜就想试一试^ -^。
选择/usr/local/lib/python2.7/dist-packages/pip-7.1.2-py2.7.egg这个目录,脚本名为my_module.py,里面只有一个名为c_to_f的函数,用来计算从摄氏温度转换为华氏温度。
可以看到,脚本已经位于刚开始选定的的目录下了。
我们现在来看看,在python中导入这个模块。并按照“模块.函数”的格式使用函数。
可以看到,导入模块成功,其中的c_to_f函数也正确使用,10摄氏度=50华氏度。或者你在确定函数名不重名的前提下,可以from my_module import c_to_f,这样就可以直接使用函数c_to_f,而不需要模块名作为前缀。
实验成功,将脚本导入python自带的环境变量目录中是有效的,如果之前运行了python,再导入后并不用重启python就可以导入模块。
3.接下来我们回归正题,如何自定义python环境变量目录。最直接的想法是把目录加到刚才的python环境变量中。可以使用sys.path.append('/.../....')。
然后再次查看path路径,发现"/home/sh/python"目录确实加入了。并且也可以使用。但是这种方法一旦退出python,刚才新加的目录就消失了。
4.接下来介绍一种一劳永逸的方法,就是直接修改系统变量。
export PYTHONPATH=$PYTHONPATH:/..../..../,对,没错,直接在shell中敲这一行,目录是你自定义的目录,然后打开python,import my_module,你就愉快的可以使用自定义的模块了。
http://blog.sina.com.cn/s/blog_959cf80d0102vx3j.html
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)