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\n','56789\n','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('\n')
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)+'\n')
file_w1.close()
TXT文件的写入及读出的更多相关文章
- JAVA读取TXT文件、新建TXT文件、写入TXT文件
		
1.创建TXT文件 按照正常的逻辑写就好 先定义一个文件给定一个路径——>判断这个路径上这个文件存不存在——>若不存在则建立,try/catch根据程序提示自动生成就好 2.读取TXT文件 ...
 - 第十七章,txt文件的写入和读取数据结合练习(C++)
		
#include <iostream> #include <fstream> int main(int argc, char** argv) { std::string str ...
 - python  txt文件的写入和读取
		
1.文件的打开 使用open () 函数 打开文件.他有两个参数,文件路径或文件名和文件的打开方式. "r" 只读模式,不能编辑和删除文件内容. "w" 写入模 ...
 - Java读取txt文件和写入txt文件
		
package com.nickwong.code; import java.io.*; /** * Created by Nickwong on 31/07/2018. * 根据1-8楼的建议,优化 ...
 - 向txt文件中写入内容(覆盖重写与在末尾续写+FileOutputStream与FileWriter)(转发:https://blog.csdn.net/bestcxx/article/details/51381460)
		
!!!! 读取txt文件中的内容 import java.io.BufferedReader; import java.io.File; import java.io.FileReader; /** ...
 - JAVA 创建TXT文件,写入文件内容,读取文件内容
		
[java] view plain copy package com.abin.facade.ws.mail.function; import java.io.BufferedReader; i ...
 - Java创建TXT文件并写入 内容
		
public static void main(String[] args) { String filePath = "E:/" + "1.txt"; Stri ...
 - Python txt文件读取写入字典的方法(json、eval)
		
link:https://blog.csdn.net/li532331251/article/details/78203438 一.使用json转换方法 1.字典写入txt import json d ...
 - C#读txt文件并写入二维数组中(txt数据行,列未知)
		
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
 
随机推荐
- [Python基础]006.IO操作
			
IO操作 输入输出 print raw_input input 文件 打开文件 关闭文件 读文件 写文件 文件指针 实例 输入输出 输入输出方法都是Python的内建函数,并且不需要导入任何的包就可以 ...
 - Java找零钱算法
			
买东西过程中,卖家经常需要找零钱.现用代码实现找零钱的方法,要求优先使用面额大的纸币,假设卖家有足够数量的各种面额的纸币. 下面给出的算法比较简单,也符合人的直觉:把找零不断地减掉小于它的最大面额的纸 ...
 - 01 . 前端之HTML
			
初识前端 HTML简介历史 HTML(Hyper Text Markup Language)超文本标记语言,它不同于编程语言 超文本就是超过纯文本的范畴,例如描述文本的颜色.大小.字体等信息,或使用图 ...
 - 重装ArchLinux后修改GRUB配置不生效问题的解决
			
重装ArchLinux后修改GRUB配置不生效问题的解决 mount指令看一下挂载,或者vim /etc/fstab看一下有没有/boot,看看fstab是不是没写进去.... 我特喵昨天重装完Arc ...
 - Sched_Boost小结
			
之前遇到一个耗电问题,最后发现是/proc/sys/kernel/sched_boost节点设置异常,一直处于boost状态.导致所有场景功耗上升. 现在总结一下sched_boost的相关知识. S ...
 - Java实现 蓝桥杯 算法提高 上帝造题五分钟
			
算法提高 上帝造题五分钟 时间限制:1.0s 内存限制:256.0MB 问题描述 第一分钟,上帝说:要有题.于是就有了L,Y,M,C 第二分钟,LYC说:要有向量.于是就有了长度为n写满随机整数的向量 ...
 - Java实现 LeetCode 290 单词规律
			
290. 单词规律 给定一种规律 pattern 和一个字符串 str ,判断 str 是否遵循相同的规律. 这里的 遵循 指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非 ...
 - Java实现 蓝桥杯VIP 算法提高 淘淘的名单
			
算法提高 淘淘的名单 时间限制:100ms 内存限制:8.0MB 问题描述 by ZBY- ? 淘淘拿到了一份名单,他想对上面的名字进行处理,挑出一些特殊的名字,他请你来帮忙. 淘淘关注以下名字: 如 ...
 - Java实现 蓝桥杯 历届试题 网络寻路
			
问题描述 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少种不同 ...
 - java实现第七届蓝桥杯搭积木
			
搭积木 题目描述 小明最近喜欢搭数字积木, 一共有10块积木,每个积木上有一个数字,0~9. 搭积木规则: 每个积木放到其它两个积木的上面,并且一定比下面的两个积木数字小. 最后搭成4层的金字塔形,必 ...