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 ...
随机推荐
- JavaScript实现树深度优先和广度优先遍历搜索
1.前置条件 我们提前构建一棵树,类型为 Tree ,其节点类型为 Note.这里我们不进行过多的实现,简单描述下 Note 的结构: class Node{ constructor(data){ t ...
- Java中的自动装箱拆箱
Java中的自动装箱拆箱 一.自动装箱与自动拆箱 自动装箱就是将基本数据类型转换为包装类类型,自动拆箱就是将包装类类型转换为基本数据类型. 1 // 自动装箱 2 Integer total = 90 ...
- SpringBoot 及其 基本原理(一)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 前言: 分布式架构及微服务理念 1.SOA理念(思想) SOA :即 Service Oriented ...
- (Java实现) N皇后问题
n皇后问题是一个以国际象棋为背景的问题:在n×n的国际象棋棋盘上放置n个皇后,使得任何一个皇后都无法直接吃掉其他的皇后,即任意两个皇后都不能处于同一条横行.纵行或斜线上. 蛮力法思想: 解决n皇后问题 ...
- Java实现 LeetCode 590 N叉树的后序遍历(遍历树,迭代法)
590. N叉树的后序遍历 给定一个 N 叉树,返回其节点值的后序遍历. 例如,给定一个 3叉树 : 返回其后序遍历: [5,6,3,2,4,1]. 说明: 递归法很简单,你可以使用迭代法完成此题吗? ...
- Java实现 蓝桥杯VIP 算法提高 欧拉函数
算法提高 欧拉函数 时间限制:1.0s 内存限制:512.0MB 说明 2016.4.5 已更新试题,请重新提交自己的程序. 问题描述 给定一个大于1,不超过2000000的正整数n,输出欧拉函数,p ...
- Java实现 LeetCode 33 搜索旋转排序数组
33. 搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转. ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] ). 搜索一个给定的目标值, ...
- 【Vue】axios封装,更好的管理api接口和使用
在现在的前端开发中,前后端分离开发比较主流,所以在封装方法和模块化上也是非常需要掌握的一门技巧.而axios的封装也是非常的多,下面的封装其实跟百度上搜出来的axios封装或者axios二次封装区别不 ...
- 【Vlog】Jmeter之使用beanshell将json提取器中的多个值拼接为一个列表
场景如下: json提取器返回了当前登录用户的所有好友id,然而下一个接口是把好友id拼成一个数组进行传参的,现需将所有的好友ID拼接起来,类似ID1,ID2,ID3......这样 beanshel ...
- iOS -实现imageView中的button响应点击事件的方法
<pre name="code" class="cpp" style="font-size: 13px;">/** imagev ...