TXT文件的写入及读出

Posted yunyuncongsheng

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TXT文件的写入及读出相关的知识,希望对你有一定的参考价值。

一、文件的读出:

file = open(‘url/data.txt‘,‘r‘,encoding=‘utf-8‘)#打开模式r w a,当文件在当前工作区域直接写文件名如果不在当前工作区域要写绝对地址
res = f.read()#读文件,获取文件里面的全部内容
res2 = f.readline()
res3 = f.readlines() #显示格式为的列表
print(res2) #一次读取第一行
print(res3) #整个文件内容,返回list一行一个元素
f.close() #关闭文件

 二、文件的写入

f1 = open(‘a.txt‘,‘w‘,encoding = ‘utf-8‘)
   f1.write(‘写内容‘) #会把原文件内容给覆盖掉
f1.close() l = [‘1234 ‘,‘56789 ‘,‘abcdef‘] f1.writelines(l)#可以将内容存在list里面,利用writelines来写进文件 不用循环 #等同于 for j in l: f1.write(j) f1.close()

for i in f:#f文件为循环条件对象,会以行的方式来循环读取 可以用来处理大文件
print(i)

 三、文件指针

#文件指针指的是,文件阅读循环时,作标记,下一循环不从文件开始地方读取,而是从上次读取的位置往下读
import time
point = 0#初始化位置
while True:#死循环
    f = open(‘C:/Users/86136/Desktop/access.log‘,encoding = ‘utf-8‘)
    f.seek(point)#移动文件指针的位置
    ip_list = {}#ip:2 定义在循环里面,会每60s清空一次
    for line in f:
        ip = line.split()[0]#split分割后 就是list 赋予下标 取值
        if ip not in ip_list:
            ip_list[ip] = 1
        else:
            ip_list[ip]+=1
    point = f.tell()#当前文件指针的位置
    f.close()
    for ip in ip_list:
        count = ip_list.get(ip)
        if count >= 50:
            print(ip,‘有问题‘)
            f.close()
    time.sleep(60)

 四、文本文件转换为二维列表、二维列表排序后存入文本文件

import items as items
file = open(‘D:/aaaaayuanchengbangong/bestTEST/data.txt‘,‘r‘,encoding=‘utf-8‘)
#读文件
list = file.readlines()
data_list = []
for i in range(len(list)):#所有行作为循环条件
    list1 = list[i].strip().split(‘ ‘)#添加对象,按换行符分割,存进list中
    data_list.append(list1)
    data_list = sorted(data_list, key=lambda data: float(data[2]),reverse=True)
print(data_list)
file.close()
#写文件
file_w = open(‘D:/aaaaayuanchengbangong/bestTEST/sort.txt‘,‘w‘,encoding=‘utf-8‘)
for j in range(len(data_list)):
    for k in range(len(data_list[j])):
        file_w.write(str(data_list[j][k]))
        file_w.write(‘ ‘)
    file_w.write(‘
‘)
file_w.close()

 五、将字典存入文本文件

info = {}
usernames = [‘xiaohei‘,‘xiaobai‘,‘xiaoming‘]
passwords = [‘123456‘,‘11111‘,‘1‘]
for i in range(len(usernames)):
    u = usernames[i]
    p  = passwords[i]
    info[u] = p
for i in range(3):
    username = input(‘username:‘).strip()#去两端空格
    if  username==‘‘:
        print(‘账号已存在‘)
    elif username in info:
        print(‘输入不能为空‘)
    else:
        password = input(‘password:‘).strip()
        cpassword = input(‘cpassword:‘).strip()
        if password==‘‘ or cpassword==‘‘:
            print(‘密码不为空‘)
        elif password != cpassword:
            print(‘两次输入密码不一致‘)
        else:
            info[username] = password
            print(‘注册成功‘)
            break
else:
    print(‘错误次数过多‘)
print(info)
file_w1 = open(‘D:/aaaaayuanchengbangong/bestTEST/users.txt‘,‘w‘,encoding=‘utf-8‘)
for k,v in info.items():
    file_w1.write(str(k)+‘:‘+str(v)+‘
‘)
file_w1.close()

 

以上是关于TXT文件的写入及读出的主要内容,如果未能解决你的问题,请参考以下文章

Java中的小问题:读出file1.txt的内容,输出到标准设备,验证写入的内容。

c++文件怎么从文件中读出和写入字符串?

从文件TEST中读出字符并写入TEST1里,要求均附加错误检查--p209_5

C# 写入和读出文本文件

多文档读写

C语言中如何从TXT文件中读出数据并存放到线性链表中