python获得文件路径
A. python读取文件相对路径
比如你在和当前文件并列的"game"文件夹下有"score.txt"文件,那么相对路径表示为:
"game/score.txt"
就是和这个py文件并列的文件夹前面不需要加"/",后面的都需要加,别忘了加上后缀。
例:
with open("game/score.txt", mode = "a+", encoding = "utf-8") as f:
score = f.readline()
B. 如何获得Python脚本所在目录的位置
如果想得到脚本的路径,那么得这样:
os.path.split(os.path.realpath(__file__))[0]
其中__file__虽然是所在.py文件的完整路径,但是这个变量有时候返回相对路径,有时候返回绝对路径,因此还要用os.path.realpath()函数来处理一下。
os.getcwd()是不对的,只能得到当前目录位置
C. python 获取文件夹路径问题
#encoding:utf-8
importos
printos.path.abspath("test")
使用os.path.abspath方法可以输出文件夹的绝对路径。
参数里面要写相对路径,比如脚本和文件夹在同一路径,就直接写名字即可。如果文件夹在上一个目录,就写成"../test"。
其实从方法名也能看出来,是一个相对路径转绝对路径的方法。
D. python怎么根据文件名获得文件路径
获取文件路径可以使用OS模块,代码如下:
importos
srcPath=r"WallReference.pdf"
path=os.path.abspath(srcPath)
print"全路径为:",path
print"路径名,文件名",os.path.split(path)
导入os模块;
需要操作的文件;
获取文件的全路径,即带盘符的路径;
输出全路径;
输出路径名和文件名;
E. 如何使用Python获取文件所在目录和文件名
python有个魔术变量__file__
#(前后各两个下划线)。这个变量就是当前文件的绝对路径。
再利用Pyhon自带的os模块中的path模块可以处理路径,分理出目录和文件名。以下是示例代码。
import os
folder,filename=os.path.split(__file__)
print(folder,filename)不明白可追问。
F. Python怎样得到资源文件的绝对路径
路径有两种,相对路径和绝对路径。 对于Unix-Like系统来说,绝对路径就是以/开头的路径。 相对路径就是不以/开头的路径。
其实,操作系统中实际只有一种路径,那就是绝对路径。 相对路径,只是程序自己帮我们修改为绝对路径了。
操作系统的程序运行器利用环境变量,为我们把相对路径生成为绝对路径。getcwd()函数用于得到当前进程的当前工作路径。也就是相对路径的起始点。
在Python中,可以使用os.chdir函数切换当前工作路径。
当前工作路径,是程序执行时所在的路径。 我们在哪个目录下执行程序,当前路径就是哪一个目录。
我们常常需要在python中执行一些源码目录下的文件。如,我们可能需要用eval动态执行一个python源文件。或者一些配置文件到目标系统的路径下。此时,我们无法知道这些文件的绝对路径,因为我们不能预知用户会把我们的程序安装到哪一个目录下。
我们也不能依赖于当前工作路径。因为用户很可能不在我们的源码目录下执行我们的程序。
那么,此时我们如何得到源码目录下文件的绝对路径呢?
我是这样做的:
ABSPATH=None
if __name__ == '__main__':
ABSPATH=os.path.abspath(sys.argv[0])
ABSPATH=os.path.dirname(ABSPATH)+"/"
print ABSPATH
G. 如何用python查询文件路劲
最近在用Python脚本处理文件夹下面的文件名的搜索和重命名。其中碰到如何递归遍历文件夹下面所有的文件,找到需要的文件,并且重命名的问题。其实如果看看Python的document,还是比较简单的,这里直接给出使用方法,免得大家还要花精力去查找。
环境:
文件夹结构:
----path1
----path1-1
----path1-1.1.txt
----path1-2
----path1.1.txt
----path2
----recursiveDir.py
文件夹结构如上所示。
代码分析(recursiveDir.py):
[python] view plain
<span style="font-size:18px;">import os
'''''
本脚本用来演示如何遍历py脚本所在文件夹下面所有的文件(包括子文件夹以及其中包含的文件)。
重点演示如何获取每个文件的绝对路径。注意os.path.join(dirpath, filename)的用法。
'''
rootdir = os.getcwd()
print('rootdir = ' + rootdir)
for (dirpath, dirnames, filenames) in os.walk(rootdir):
#print('dirpath = ' + dirpath)
for dirname in dirnames:
print('dirname = ' + dirname)
for filename in filenames:
#下面的打印结果类似为:D:\pythonDirDemo\path1\path1-1\path1-1.1.txt
print(os.path.join(dirpath, filename))
if(filename=='path1-1.1.txt'):
os.chdir(dirpath)
#os.rename(os.path.join(dirpath, filename), dirpath + os.sep + 'path1-1.1.new.txt')
os.rename('path1-1.1.txt', 'path1-1.1.new.txt')
#os.remove(os.path.join(dirpath, filename))
#下面的输出为fileName = path1-1.1.txt,并未包含绝对路径,所以需要使用os.path.join来链接,获取绝对路径
print('fileName = ' + filename)
print('------------------one circle end-------------------')</span>
所以可以看到程序中使用os.path.join(dirpath, filename)来拼接出绝对路径出来。注意下面的重命名用法,可以将工作目录切换到os.chdir(dirpath),这样就可以直接用os.rename(oldfile, newfile).Python会自动到dirpath下面查找oldfile并且重命名为newfile。注意工作目录的含义:在Python的GUI中,使用os.getcwd()可以获取到当前工作目录。测试如下:
[html] view plain
<span style="font-size:18px;">>>> os.chdir('D:')
>>> os.getcwd()
'D:\\pythonDirDemo\\path1\\path1-1'
>>> os.chdir('D:\\')
>>> os.getcwd()
'D:\\'</span>
可见却是可以用chdir改变工作目录。这个代码只是在重命名的时候用到的小技巧而已,大家知道有这个东西就行了,不过调用chdir之后,后续再获取getcwd()就会被影响,所以警惕。
H. python怎么获取一个文件的路径
用realpath来获取:
>>> import os
>>> f = open('file.txt')
>>> os.path.realpath(f.name)
I. python怎么得到文件所在路径
python获取文件所在目录的方法,具体步骤如下:
相关推荐:《Python入门教程》
第一步,通过import os导入os模块。
第二步,模拟一个文件路径,并赋值给变量filepath。
第三步:获取文件所在目录,使用os.path.dirname()。
在交互模式中,按回车键进行执行,即可得到文件所在目录。
J. 只知道文件名的情况下,怎么用python获取所有同名文件的路径
获取文件路径可以使用OS模块,代码如下:
importos
srcPath=r"WallReference.pdf"
path=os.path.abspath(srcPath)
print"全路径为:",path
print"路径名,文件名",os.path.split(path)
导入os模块;
需要操作的文件;
获取文件的全路径,即带盘符的路径;
输出全路径;
输出路径名和文件名;