python中for循环遍历⽂件_Pythonfor循环遍历⽬录⽂件
我有两个不同⽬录中的⽂件,其中包含⽂本的pickle列表,如下所⽰,以.out格式保存:
(lp0)
S'TCTCTTGGAGCACCACCTATTTCATATTCATTCATTCAGTATCCGCTGATCTTCGGACATGTTCA'
第⼀页
作为“TTCGGAcatagttcatatttatttgcccatacccgcgagagaagactcttgcagac”
第2页
作为“agagcctttgcagaccgtggca”
p3页import pickle
a
我试图完成的任务是打开可疑⽂本⽬录中的⼀个⽂件,并使⽤python的difflib将其与源⽂本⽬录中的每个
⽂件进⾏⽐较,打印出⼀个数字,指⽰它们是否匹配,然后对可疑⽂本⽬录中的其余⽂件执⾏相同的操作。如果有⼈把两个⽿朵的细节都⽐较清楚的话,那我就更清楚了
我⽬前的问题是for循环来完成这个任务,它不起作⽤。我的意思是我可以循环浏览这些⽂件夹,他们可以打印出⽂件夹的名称,但是⽂件本⾝的内容不会改变。循环⽬前只⽐较⼀个⽂件从每个⽬录多次,我不知道如何修复它。在
欢迎提出任何建议,如果我的解释⾜够清楚,请随时提出任何问题。在
谢谢。另外,我知道这是⼀个常见的问题,我已经尽我最⼤的努⼒去看看以前的答案,并应⽤他们所使⽤的,但我很难做到这⼀点,因为我不是很擅长编程。在
提前谢谢!在
F
代码如下:import string
import pickle
import sys
import glob
import difflib
sourcePath = 'C:\Users\User\Sou2/*.out'
suspectPath = 'C:\Users\User\Susp2/*.out'
list_of_source_files = glob.glob(sourcePath)
list_of_suspect_files = glob.glob(suspectPath)
def get_source_files(list_of_source_files):
for source_file_name in list_of_source_files:
with open(source_file_name) as source_file:
sourceText = pickle.load(source_file)
return sourceText
get_suspect_files(list_of_suspect_files):
for suspect_file_name in list_of_suspect_files:
with open(suspect_file_name) as suspect_file:
suspectText = pickle.load(suspect_file)
return suspectText
def matching(sourceText,suspectText):
matching = difflib.SequenceMatcher(None,sourceText,suspectText) print matching.ratio()
def main():
for suspectItem in list_of_suspect_files:
suspectText = get_suspect_files(list_of_suspect_files)
print ('----------------SEPERATOR-----------------')
for sourceItem in list_of_source_files:
sourceText = get_source_files(list_of_source_files)
matching(sourceText,suspectText)
main()
当前结果:
^{pr2}$
这应该是1.0的⼀些,因为我故意把匹配的索引⽂本的⽂本系统。在

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。