python随机遍历文件所有行(每行被遍历一次,洗牌算法)


 1 # _*_ coding:utf8 _*_
 2 import random
 3 import linecache
 4 import sys
 5 #随机读取文件内容,保证每行被读一次
 6 filepath=str(sys.path[0])+'\\'+'wordenglish.txt'#文件路径
 7 count = len(open(filepath,'rU').readlines())#返回文件行数
 8 s=range(1,count+1)#生成列表,从1到文件行长度
 9 #洗牌,次数为文件长度,每次交换两个位置
10 for i in s:
11     s1=random.randint(0,count-1)
12     s2=random.randint(0,count-1)
13     s[s1],s[s2]=s[s2],s[s1]#根据生成的随机数交换位置
14 #读取文件内容并显示
15 for i in s:
16     print(linecache.getline(filepath,i))#从指定文件读取指定行
17     raw_input('any key contunu')

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM