使用python获取当前目录的方法
这篇文章给大家分享的是有关使用python获取当前目录的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。
sys.path
模块搜索路径的字符串列表。由环境变量PYTHONPATH初始化得到。
sys.path[0]是调用Python解释器的当前脚本所在的目录。
sys.argv
一个传给Python脚本的指令参数列表。
sys.argv[0]是脚本的名字(由系统决定是否是全名)
假设显示调用python指令,如 python demo.py ,会得到绝对路径;
若直接执行脚本,如 ./demo.py ,会得到相对路径。
os.getcwd()
获取当前工作路径。在这里是绝对路径。
__file__
获得模块所在的路径,可能得到相对路径。
如果显示执行Python,会得到绝对路径。
若按相对路径来直接执行脚本 ./pyws/path_demo.py ,会得到相对路径。
为了获取绝对路径,可调用 os.path.abspath()
os.path 中的一些方法
os.path.split(path)
将路径名称分成头和尾一对。尾部永远不会带有斜杠。如果输入的路径以斜杠结尾,那么得到的空的尾部。
如果输入路径没有斜杠,那么头部位为空。如果输入路径为空,那么得到的头和尾都是空。
os.path.realpath(path)
返回特定文件名的绝对路径。
代码示例
环境 Win7, Python2.7
以 /e/pyws/path_demo.py 为例
#!/usr/bin/envpythonimportosimportsysif__name__=='__main__':print"sys.path[0]=",sys.path[0]print"sys.argv[0]=",sys.argv[0]print"__file__=",__file__print"os.path.abspath(__file__)=",os.path.abspath(__file__)print"os.path.realpath(__file__)=",os.path.realpath(__file__)print"os.path.dirname(os.path.realpath(__file__))=",os.path.dirname(os.path.realpath(__file__))print"os.path.split(os.path.realpath(__file__))=",os.path.split(os.path.realpath(__file__))print"os.getcwd()=",os.getcwd()
在 /d 中运行,输出为:
$python/e/pyws/path_demo.pysys.path[0]=E:\pywssys.argv[0]=E:/pyws/path_demo.py__file__=E:/pyws/path_demo.pyos.path.abspath(__file__)=E:\pyws\path_demo.pyos.path.realpath(__file__)=E:\pyws\path_demo.pyos.path.dirname(os.path.realpath(__file__))=E:\pywsos.path.split(os.path.realpath(__file__))=('E:\\pyws','path_demo.py')os.getcwd()=D:\
在e盘中用命令行直接执行脚本:
$./pyws/path_demo.pysys.path[0]=E:\pywssys.argv[0]=./pyws/path_demo.py__file__=./pyws/path_demo.pyos.path.abspath(__file__)=E:\pyws\path_demo.pyos.path.realpath(__file__)=E:\pyws\path_demo.pyos.path.dirname(os.path.realpath(__file__))=E:\pywsos.path.split(os.path.realpath(__file__))=('E:\\pyws','path_demo.py')os.getcwd()=E:\
感谢各位的阅读!关于使用python获取当前目录的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。