python中查找文件
① python如何查找以数字命名的文件
遍历文件夹下找到所有文件
判断当前目录下文件的文件名是否是纯数字的,然后加入到列表中输出。
importos
num_filelist=[]
forroot,dirs,filesinos.walk(r"E: est"):
fortmpinfiles:
(shotname,extension)=os.path.splitext(tmp)
ifshotname.isalnum():
num_filelist.append(os.path.join(root,tmp))
printnum_filelist
② 用python实现一个本地文件搜索功能。
import re,os
import sys
def filelist(path,r,f):
"""
function to find the directions and files in the given direction
according to your parameters,fileonly or not,recursively find or not.
"""
file_list = []
os.chdir(path)
filename = os.listdir(path)
if len(filename) == 0:
os.chdir(os.pardir)
return filename
if r == 1: ##
if f == 0: # r = 1, recursively find directions and files. r = 0 otherwise.
for name in filename: # f = 1, find files only, f = 0,otherwise.
if os.path.isdir(name): ##
file_list.append(name)
name = os.path.abspath(name)
subfile_list = filelist(name,r,f)
for n in range(len(subfile_list)):
subfile_list[n] = '\t'+subfile_list[n]
file_list += subfile_list
else:
file_list.append(name)
os.chdir(os.pardir)
return file_list
elif f == 1:
for name in filename:
if os.path.isdir(name):
name = os.path.abspath(name)
subfile_list = filelist(name,r,f)
for n in range(len(subfile_list)):
subfile_list[n] = '\t'+subfile_list[n]
file_list += subfile_list
else:
file_list.append(name)
os.chdir(os.pardir)
return file_list
else:
print 'Error1'
elif r == 0:
if f == 0:
os.chdir(os.pardir)
return filename
elif f == 1:
for name in filename:
if os.path.isfile(name):
file_list.append(name)
os.chdir(os.pardir)
return file_list
else:
print 'Error2'
else:
print 'Error3'
'''
f = 0:list all the files and folders
f = 1:list files only
r = 1:list files or folders recursively,all the files and folders in the current direction and subdirection
r = 0:only list files or folders in the current direction,not recursively
as for RE to match certern file or dirction,you can write yourself, it is easier than the function above.Just use RE to match the result,if match,print;else,pass
"""
③ 如何用Python实现查找"/"目录下的文件夹或文件,感谢
给你各相对来说容易理解的哈
import os
name=raw_input('filename:') #在这里输入你的查找值
a=os.listdir('/') #把所有/目录下的文件,目录存放入a
if name in a: #如果查找值在/目录下,进行进一步判断
if os.path.isdir(name): #判断是否为目录
print 'dir'
elif os.path.isfile(name) and os.pathislink(name): #符号连接即是文件又是link所以双重判断
print 'link'
elif os.path.isfile(name): #判断是否文件
print 'file'
else: #linux上文件类型多,不符合上面三种打印0ther
print 'other'
else: #不存在打印‘not exist’
print 'not exist'
④ 用Python查找某文件夹的文件名称,并对文件名进行更改的库名称是什么
要在文件夹中搜索文件名并在 Python 中重命名文件,可以使用模块和模块。该模块提供基于通配符模式匹配文件路径的函数,而该模块提供用于处理文件和文件夹(如重命名文件)的函数。globosglobos
下面是如何使用 and 模块在文件夹中搜索文件名并重命名文件的示例:globos
此代码使用该函数搜索指定文件夹中的文件,使用通配符模式匹配所有文件。然后,它循环访问文件名,并使用该函数将文件名拆分为其基本名称和扩展名。然后,它会向基名称添加新后缀,并使用该函数重命名文件。glob.glob()*os.path.splitext()os.rename()
总体而言,和模块提供了一种强大而灵活的方式来搜索文件夹中的文件名并在 Python 中重命名文件。您可以使用这些模块来实现各种文件管理任务,例如基于不同模式搜索文件、批量重命名文件以及在文件夹之间移动或复制文件。
回答不易望请采纳
⑤ 一个python查找文件的脚本编写,高悬赏
此问题的代码如下:
importos.path
importsys
deffind_file(root,name):
files=os.listdir(root)
forfinfiles:
iff==name:
returnTrue
else:
p=os.path.join(root,f)
ifos.path.isdir(p):
iffind_file(p,name):
returnTrue
returnFalse
if__name__=='__main__':
root=sys.argv[1]
name=sys.argv[2]
found=find_file(root,name)
print(found)
请注意python的缩进格式:
⑥ python 怎么根据文件名称找文件
在只知道部分文件名的条件下也是可以搜索文件的,方法如下:
1、双击桌面图标“计算机”打开资源管理器;
2、在打开的界面左上角找到关闭选项下的搜索框,在搜索框中输入知道的部分文件名,按ENTER键开始搜索;
3、开始搜索后在下方选择“自定义”左键单击,然后选择搜索区域,选择之后点击“确定”按钮即可。
如果不清楚具体区域可以选择所有硬盘分区进行搜索。
⑦ 请问如何用python实现查找指定文件
若不包含子目录的遍历:
importglob
forfilenameinglob.glob("f:/py/*.exe"):
printfilename
否则可以:
importos
importfnmatch
defiterfindfiles(path,fnexp):
forroot,dirs,filesinos.walk(path):
forfilenameinfnmatch.filter(files,fnexp):
yieldos.path.join(root,filename)
forfilenameiniterfindfiles(r"f:/py","*.exe"):
printfilename
⑧ python从文件中查找数据并输出
#注意,这里的代码用单空格缩进
importre
#写上你的文件夹路径
yourdir=""
keywordA="keywordA"
keywordB="keywordA(d+)"
files=[os.path.join(yourdir,f)forfinos.listdir(yourdir)]
withopen("out.txt","w")asfo:
forfinfiles:
fname=os.path.basename(f)
withopen(f,"r")asfi:
forlineinfi:
ifline.strip():
searchA=re.search(keywordA,line.strip())
ifsearchA:
searchB=re.search(keywordB,line.strip())
ifsearchB:
print(fname,serachB.groups()[0],sep=" ",file=fo)
⑨ 如何用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()就会被影响,所以警惕。