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 ...
随机推荐
- Html响应式图片
Html响应式图片 1.介绍:根据屏幕匹配的不同尺寸显示不同图片,picture 元素允许我们在不同的设备上显示不同的图片,一般用于响应式 <!-- 在不同的屏幕尺度下显示不同的图片 --> ...
- 获取元素节点的子节点 & 获取文本节点
1. 获取元素节点的子节点(**只有元素节点才有子节点): ①. childNodes 属性获取全部的子节点, 但该方法不实用. 因为如果要获取指定的节点 ...
- 关于Dev-C++一种引用头文件<iostream>问题(暴力解决)
问题情况如下,因个人水平有限,不知道具体原因是啥,当引用头文件<iostream>时会出现如下问题,经排查,并不是头文件本身的问题,有可能是Dev哪一个文件被改动了,或者设置出了问题(前者 ...
- web selenium 小笔记
常用库导入 from selenium import webdriver #导入webdriver模块 from selenium.webdriver.common.by import By # XP ...
- Alpha冲刺 —— 5.7
这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...
- JavaScript实现登录滑动验证
来自于GitHub, 如何快速访问GitHub 先附上效果图 划到一半停止回自己回去的 PS: 附上代码,有需要自己更改, <!DOCTYPE html> <html lang=&q ...
- java实现第四届蓝桥杯买不到的数目
买不到的数目 题目描述 小明开了一家糖果店.他别出心裁:把水果糖包成4颗一包和7颗一包的两种.糖果不能拆包卖. 小朋友来买糖的时候,他就用这两种包装来组合.当然有些糖果数目是无法组合出来的,比如要买 ...
- Android9.0配置charles的https抓包
问题: 按照charles的正常流程去安装证书后,然后使用手机(一加5T,安卓9.0)访问https站点发现有些CONNECT请求无法查看,但是其它类型都支持https 解决方案: 前提条件:手机已经 ...
- 【深度思考】JDK8中日期类型该如何使用?
在JDK8之前,处理日期时间,我们主要使用3个类,Date.SimpleDateFormat和Calendar. 这3个类在使用时都或多或少的存在一些问题,比如SimpleDateFormat不是线程 ...
- jQuery中ajax 跳入error的原因总结
一个标准的jquery的ajax代码: $.ajax({ type: 'POST', url: 'getSecondClassification', data: {"sort2": ...