① 如何用python語言實現在一個文件中查找特定的字元串
用正則表達式
>>>s='helloworld'
>>>importre
>>>re.search('wor',s)
<_sre.SRE_Matchobject;span=(6,9),match='wor'>
② 如何用Python語言實現在一個文件中查找特定的字元串
targetstr 為特定字元串
filename為文滲銷臘件名
with open(filename,'r')as fp:
for line in fp:
if targetstr in line:
print line
這樣就找到特定字叢滑符串所在的斗畝行內容了
③ python 文本文件中查找指定的字元串
def find(lists):
for list0 in lists:
if list0.find('set internet Active')>=0:
if list0.find('#')>=0:
continue
else:
return 0 #有一行不帶#號的set internet Active,那麼返回0
return -1 #若沒有不帶號的set internet Active,那麼返回-1
if __name__=='__main':
lists = ['set internet Active','#set internet Active','# set internet Active']
#lists 是從文件中讀出內容的列表
findout=find(lists) #調用函數
print(findout) #列印結果
④ 用Python查找某文件夾的文件名稱,並對文件名進行更改的庫名稱是什麼
要在文件夾中搜索文件名並在 Python 中重命名文件,可以使用模塊和模塊。該模塊提供基於通配符模式匹配文件路徑的函數,而該模塊提供用於處理文件和文件夾(如重命名文件)的函數。globosglobos
下面是如何使用 and 模塊在文件夾中搜索文件名並重命名文件的示例:globos
此代碼使用該函數搜索指定文件夾中的文件,使用通配符模式匹配所有文件。然後,它循環訪問文件名,並使用該函數拆埋慶將文件名拆分為其基本名稱和擴展名。然後,它會向基名稱添加新後綴,並使用該函數重命名文件。glob.glob()*os.path.splitext()os.rename()
總體而言,和模塊提供了一種強大而靈活的方式來搜索文件夾中的文件名並在 Python 中重命名文件。您可以使用這些模旅握塊來實現各種文件管理任務,例如基於不同模式搜索文件、批量重命名文件以及在文件夾之間移動或復制文件。液鎮
回答不易望請採納
⑤ python獲取指定目錄下所有文件名列表的方法
本文實例講述了python獲取指定目錄下所有文件名列表的方法。分享給大家供嫌返廳大家參考。具體實現方法如下:世攔
這里python代碼實現獲取文件名列表的功能,可以指定文件中包含的字元,方便提取特定類型的文件名列表:
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# -*- coding: utf-8 -*-
#~ #------------------------------------------------------------------
#~ mole:wlab
#~ Filename:wgetfilelist.py
#~ Function :
#~ def IsSubString(SubStrList,Str)
#~ def GetFileList(FindPath,FlagStr=[]):
#~ 功能:讀取芹隱指定目錄下特定類型的文件名列表
#~ Data: 2013-08-08,星期四
#~ Author:吳徐平
#~ Email:[email protected]
#~ #------------------------------------------------------------------
#~ #------------------------------------------------------------------
def IsSubString(SubStrList,Str):
#判斷字元串Str是否包含序列SubStrList中的每一個子字元串
#SubStrList=[F,EMS,txt]
#Str=F06925EMS91.txt
#IsSubString(SubStrList,Str)#return True (or False)
flag=True
for substr in SubStrList:
if not(substr in Str):
flag=False
return flag
#~ #----------------------------------------------------------------------
def GetFileList(FindPath,FlagStr=[]):
#獲取目錄中指定的文件名
#FlagStr=[F,EMS,txt] #要求文件名稱中包含這些字元
#FileList=GetFileList(FindPath,FlagStr) #
import os
FileList=[]
FileNames=os.listdir(FindPath)
if (len(FileNames)0):
for fn in FileNames:
if (len(FlagStr)0):
#返回指定類型的文件名
if (IsSubString(FlagStr,fn)):
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
else:
#默認直接返回所有文件名
fullfilename=os.path.join(FindPath,fn)
FileList.append(fullfilename)
#對文件名排序
if (len(FileList)0):
FileList.sort()
return FileList
可以使用pip在線安裝wlab
?
1
pip install wlab
還是給個圖吧:
希望本文所述對大家的Python程序設計有所幫助。
⑥ python怎麼讀取文件名中包含特殊字元的文件 比如xiân.txt
我都沒用過listdit。
但是,去找了下其使用說明:
os.listdir(path)
.Thelistisinarbitraryorder.Itdoesnotincludethespecial
entries'.'and'..'eveniftheyarepresentinthe
directory.
Availability:Unix,Windows.
Changedinversion2.3:OnWindowsNT/2k/XPandUnix,ifpathisaUnicodeobject,theresultwillbe
alistofUnicodeobjects.
stringobjects.
所以:
你可以試試,傳入路徑是unicode,比如:
foundDirList=os.listdir(u"在這里輸入你的")然後,輸出的list中的文件名列表,就都是unicode了,就可以正常顯示出你要的,包括特殊字元的文件名了。
然後你就可以正常的打開了。
當然,後續處理文件時,如果是中文等非ASCII的話,也是要了解涉及到字元編碼的。這時候,最好用codecs模塊。如何使用,參見:
【教程】用Python的codecs處理各種字元編碼的字元串和文件這里不能貼地址,google搜標題即可找到帖子。
⑦ 利用python編程,在多個打包壓縮的文件中搜索指定字元串。有很多xml文件
ziprar.py
__author__='williezh'
#!/usr/bin/envpython3
importos
importsys
importtime
importshutil
importzipfile
fromzipfileimportZIP_DEFLATED
#Zip文件處理類
classZFile(object):
def__init__(self,fname,mode='r',basedir=''):
self.fname=fname
self.mode=mode
ifself.modein('w','a'):
self.zfile=zipfile.ZipFile(fname,mode,compression=ZIP_DEFLATED)
else:
self.zfile=zipfile.ZipFile(fname,self.mode)
self.basedir=basedir
ifnotself.basedir:
self.basedir=os.path.dirname(fname)
defaddfile(self,path,arcname=None):
path=path.replace('//','/')
ifnotarcname:
ifpath.startswith(self.basedir):
arcname=path[len(self.basedir):]
else:
arcname=''
self.zfile.write(path,arcname)
defaddfiles(self,paths):
forpathinpaths:
ifisinstance(path,tuple):
self.addfile(*path)
else:
self.addfile(path)
defclose(self):
self.zfile.close()
defextract_to(self,path):
forpinself.zfile.namelist():
self.extract(p,path)
defextract(self,fname,path):
ifnotfname.endswith('/'):
fn=os.path.join(path,fname)
ds=os.path.dirname(fn)
ifnotos.path.exists(ds):
os.makedirs(ds)
withopen(fn,'wb')asf:
f.write(self.zfile.read(fname))
#創建Zip文件
defcreateZip(zfile,files):
z=ZFile(zfile,'w')
z.addfiles(files)
z.close()
#解壓縮Zip到指定文件夾
defextractZip(zfile,path):
z=ZFile(zfile)
z.extract_to(path)
z.close()
#解壓縮rar到指定文件夾
defextractRar(zfile,path):
rar_command1="WinRAR.exex-ibck%s%s"%(zfile,path)
rar_command2=r'"C:WinRAR.exe"x-ibck%s%s'%(zfile,path)
try:
res=os.system(rar_command1)
ifres==0:
print("PathOK.")
except:
try:
res=os.system(rar_command2)
ifres==0:
print("Successtounrarthefile{}.".format(path))
except:
print('Error:cannotunrarthefile{}'.format(path))
#解壓多個壓縮文件到一個臨時文件夾
defextract_files(file_list):
newdir=str(int(time.time()))
forfninfile_list:
subdir=os.path.join(newdir,fn)
ifnotos.path.exists(subdir):
os.makedirs(subdir)
iffn.endswith('.zip'):
extractZip(fn,subdir)
eliffn.endswith('.rar'):
extractRar(fn,subdir)
returnnewdir
#查找一個文件夾中的某些文件,返迴文件內容包含findstr_list中所有字元串的文件
deffindstr_at(basedir,file_list,findstr_list):
files=[]
forr,ds,fsinos.walk(basedir):
forfninfs:
iffninfile_list:
withopen(os.path.join(r,fn))asf:
s=f.read()
ifall(iinsforiinfindstr_list):
files.append(os.path.join(r,fn))
returnfiles
if__name__=='__main__':
files=[iforiinsys.argv[1:]ifnoti.startswith('-')]
unzipfiles=[iforiinfilesifi.endswith('.zip')ori.endswith('.rar')]
xmlfiles=[iforiinfilesifi.endswith('.xml')]
save_unzipdir=Trueif'-s'insys.argvelseFalse
findstr=[i.split('=')[-1]foriinsys.argvifi.startswith('--find=')]
findstring=','.join(['`{}`'.format(i)foriinfindstr])
newdir=extract_files(unzipfiles)
result=findstr_at(newdir,xmlfiles,findstr)
ifnotresult:
msg='Noneofthefile(s)containthegivenstring{}.'
print(msg.format(findstring))
else:
msg='{}file(s)containthegivenstring{}:'
print(msg.format(len(result),findstring))
print(' '.join([i.replace(newdir+os.sep,'')foriinsorted(result)]))
ifnotsave_unzipdir:
shutil.rmtree(newdir)
$python3ziprar.pyaaa.zipaaa2.zipaaa3.zipaaa.xmlaaa1.xmlaaa2.xml--find="Itwas"--find="when"
Noneofthefile(s)containthegivenstring`Itwas`,`when`.
$python3ziprar.pyaaa.zipaaa2.zipaaa3.zipaaa.xmlaaa1.xmlaaa2.xml--find="Itwas"--find="I"
2file(s)containthegivenstring`Itwas`,`I`:
aaa.zip/aaa2.xml
aaa2.zip/aaa2.xml
$python3ziprar.pyaaa.zipaaa2.zipaaa3.zipaaa.xmlaaa1.xmlaaa2.xml--find="Itwas"
2file(s)containthegivenstring`Itwas`:
aaa.zip/aaa2.xml
aaa2.zip/aaa2.xml