python读取文件名包含某字符的文件(python读取文件中指定内容)
python: 从一个文件夹中提取含有特定文件名的文件并放到新文件夹中
import?os,shutil
for?filename?in?open(result.out):
????shutil.copy(os.path.join(r'文件夹A',filename+'.mol'),r'文件夹B')
python 文本文件中查找指定的字符串
编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。
import os
class SearchFile(object):
def __init__(self,path='.'):
self._path=path
self.abspath=os.path.abspath(self._path) # 默认当前目录
def findfile(self,keyword,root):
filelist=[]
for root,dirs,files in os.walk(root):
for name in files:
fitfile=filelist.append(os.path.join(root, name))
#print(fitfile)
print(os.path.join(root, name))
#print(filelist)
print('...........................................')
for i in filelist:
if os.path.isfile(i):
#print(i)
if keyword in os.path.split(i)[1]:
print('yes!',i) # 绝对路径
#else:
#print('......no keyword!')
def __call__(self):
while True:
workpath=input('Do you want to work under the current folder? Y/N:')
if(workpath == ''):
break
if workpath=='y' or workpath=='Y':
root=self.abspath # 把当前工作目录作为工作目录
print('当前工作目录:',root)
dirlist=os.listdir() # 列出工作目录下的文件和目录
print(dirlist)
else:
root=input('please enter the working directory:')
print('当前工作目录:',root)
keyword=input('the keyword you want to find:')
if(keyword==''):
break
self.findfile(keyword,root) # 查找带指定字符的文件
if __name__ == '__main__':
search = SearchFile()
search()
python怎么读取文件名中包含特殊字符的文件 比如xian.txt
我都没用过listdit。
但是,去找了下其使用说明:
os.listdir(path)
Return?a?list?containing?the?names?of?the?entries?in?the?directory?given?bypath.??The?list?is?in?arbitrary?order.??It?does?not?include?the?special
entries?'.'?and?'..'?even?if?they?are?present?in?the
directory.
Availability:?Unix,?Windows.
Changed?in?version?2.3:?On?Windows?NT/2k/XP?and?Unix,?if?path?is?a?Unicode?object,?the?result?will?be
a?list?of?Unicode?objects.?Undecodable?filenames?will?still?be?returned?as
string?objects.
所以:
你可以试试,传入路径是unicode,比如:
foundDirList?=?os.listdir(u"在这里输入你的")然后,输出的list中的文件名列表,就都是unicode了,就可以正常显示出你要的,包括特殊字符的文件名了。
然后你就可以正常的打开了。
当然,后续处理文件时,如果是中文等非ASCII的话,也是要了解涉及到字符编码的。这时候,最好用codecs模块。如何使用,参见:
【教程】用Python的codecs处理各种字符编码的字符串和文件这里不能贴地址,google搜标题即可找到帖子。
如何用Python语言实现在一个文件中查找特定的字符串
targetstr 为特定字符串
filename为文件名
with open(filename,'r')as fp:
for line in fp:
if targetstr in line:
print line
这样就找到特定字符串所在的行内容了