python实现文本去重且不打乱原本顺序

yipeiwu_com5年前Python基础

代码也是在网上找的,效率挺不错的,特别适合字典文件的去重

#coding=utf-8
import sys
def open_txt(): #打开TXT文本写入数组
try:
xxx = file(sys.argv[1], 'r')
for xxx_line in xxx.readlines():
passlist.append(xxx_line)
xxx.close()
except:
return 0

def write_txt(): #打开TXT文本写入数组
try:
yyy = file(sys.argv[2], 'w')
for i in list_passwed:
yyy.write(i)
yyy.close()
except:
return 0

global passlist #声明全局变量
passlist = [] #用户名:anonymous 密码为空
open_txt() #TXT导入数组
#passlist = list(set(passlist)) #python 列表去重
global list_passwed #列表去重,不打乱原来的顺序
list_passwed=[]
for i in passlist:
if i not in list_passwed:
list_passwed.append(i)
write_txt()

python 读取TXT到数组 列表去重,不打乱原来的顺序

####################################################################
#qq:316118740
#BLOG:http://hi.baidu.com/alalmn
# python 读取TXT到数组 列表去重,不打乱原来的顺序
# 刚学写的不好请大家见谅
####################################################################
 
 
 
def open_txt(): #打开TXT文本写入数组
 try:
  infile = file('admin.txt', 'r')
  xxx = file('admin.txt', 'r')
  for xxx_line in xxx.readlines():
   passlist.append(xxx_line)
  xxx.close()
 except:
  return 0
 
def list_del(): #清空list列表
 try:
  i = 0 #得到list的第一个元素
  while i < len(passlist):
   del passlist[i]
   del list_passwed[i]
 except:
  return 0
 
 
 
###################################### 
 
 global passlist #声明全局变量
 passlist = [] #用户名:anonymous 密码为空
 www_cj(www) #域名拆解
 open_txt() #TXT导入数组
 #passlist = list(set(passlist)) #python 列表去重
 global list_passwed #列表去重,不打乱原来的顺序
 list_passwed=[]
 for i in passlist:
  if i not in list_passwed:
   list_passwed.append(i)
###################################### 遍历数组组合出 密码
 I1 = 0 #得到list的第一个元素
 while I1 < len(list_passwed):
  print "WWWWWWWWWWW",I1
  if I1==len(list_passwed):
   break #退出循环
  I2 = 0 #得到list的第一个元素
  while I2 < len(list_passwed):
   print "1111:",list_passwed[I1],"2222:",list_passwed[I2]
   I2 = I2 + 1 #二层
  I1 = I1 + 1 #一层
######################################

补充

# -*- coding: utf-8 -*-
'''
只使用与较小的文件,比较大的文件运行时间长
'''
def quchong(infile,outfile):

  infopen = open(infile,'r',encoding='utf-8')
  outopen = open(outfile,'w',encoding='utf-8')
  lines = infopen.readlines()
  list_1 = []
  for line in lines:
    if line not in list_1:
      list_1.append(line)
      outopen.write(line)
  infopen.close()
  outopen.close()
quchong("源文件路径","目标文件路径")

本文实例讲述了python读取TXT到数组及列表去重后按原来顺序排序的方法。分享给大家供大家参考。

相关文章

python批量复制图片到另一个文件夹

本文实例为大家分享了python批量复制图片到文件夹的具体代码,供大家参考,具体内容如下 直接上代码: # -*- coding: utf-8 -*- """ Created on...

python3利用Dlib19.7实现人脸68个特征点标定

python3利用Dlib19.7实现人脸68个特征点标定

0.引言 利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68点标定,利用OpenCv进行图像化处理,在人脸上画出68个点,...

python getpass实现密文实例详解

python getpass实现密文实例详解

getpass模块的使用: 在python中实现密码密文需要导入getpass模块,在python中要使用内置模块的话,需要使用import进行导入,比如import getpass...

使用Pyinstaller的最新踩坑实战记录

前言 将py编译成可执行文件需要使用PyInstaller,之前给大家介绍了关于利用PyInstaller将python程序.py转为.exe的方法,在开始本文之前推荐大家可以先看下这篇...

使用Python设置tmpfs来加速项目的教程

 对我当前工程进行全部测试需要花费不少时间。既然有 26 GB 空闲内存,为何不让其发挥余热呢? tmpfs 可以通过把文件系统保存在大内存中来加速测试的执行效率。 但...