如何用python查询文件路劲

如何用python查询文件路劲,第1张

最近在用Python脚本处理文件下面的文件名的搜索和重命名。其中碰到如何递归遍历文件夹下面所有的文件,找到需要的文件,并且重命名的问题。其实如果看看Python的document,还是比较简单的,这里直接给出使用方法,免得大家还要花精力去查找。

环境:

文件夹结构:

----path1

----path1-1

----path1-1.1.txt

----path1-2

----path1.1.txt

----path2

----recursiveDir.py

文件夹结构如上所示。

代码分析(recursiveDir.py):

[python] view plaincopy

<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 plaincopy

<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()就会被影响,所以警惕。

linux下 可枯衫芦以先找到python的大致路径 然后执行 python  -V

[root@host ~]# find / |grep "bin/python"

/usr/bin/python

/usr/bin/python2

/usr/bin/python2.6

[root@host ~]# /usr/bin/python -V

Python 3.3.2 --如没带果是3的话 就应该是找到塌游了


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8226479.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存