参考博客:http://www.cnblogs.com/wind-wang/p/5822192.html
更多路径读取请参照上述博客(使用Python 2.x版本),这里只挑出个人认为最直接、常用的部分,并在win 10环境的Python 3.6.5版本上进行测试。部分测试结果与参考博客中有出入,可能是版本问题。
以下假设当前文件“test.py”的实际路径为“E:/python_code/test.py”。
使用下面代码可以分别输出文件路径和文件所在文件夹的路径。
file_path = os.path.abspath(__file__)folder_path1 = os.getcwd()folder_path2 = os.getcwd().replace('\','/')print(file_path)print(folder_path1)print(folder_path2)输出结果:
E:python_codetest.py
E:python_code
E:/python_code
直接利用os.path.abspath(__file__)或os.getcwd()得到的路径均是用反斜线连接的,若需要用正斜线/连接,可以使用folder_path2中的方法,在结尾加上.replace('\','/'),这里的\中的第一个反斜线表示转义。
另外,如果需要sys模块且不想导入os模块,可以使用下面的代码获得文件路径。
file_path3 = sys.argv[0]print(file_path3)输出结果:
E:/python_code/test.py
(这里的输出结果使用的就是正斜线/,也是参考博客中所有列出方法中唯一使用正斜线/连接路径的方法)
注意:sys模块并没有找到可以不经处理直接得到文件所在文件夹路径的方法。