python 文本文件中查找指定的字符串

python 文本文件中查找指定的字符串,第1张

编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出绝对路径。

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 3.3 代码

import sys

reader = open('scores.txt')

line = reader.readline()#读取第一行数据

scores = []#放 分数值 的数值

stander = 0#及格人数

while line != '' and line != None:#循环读取数据行

    tempScore = line.split(' ')[1].replace('\n','')#将姓名和成绩分开,并取分数

    scores.append(tempScore)#将得到的分数添加到数组中

    if float(tempScore) >= 60:#记录大于60分的成绩

        stander += 1

    line = reader.readline()

reader.close()

print(scores)

print(stander)


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

原文地址: https://outofmemory.cn/yw/8085892.html

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

发表评论

登录后才能评论

评论列表(0条)

保存