python对文件的读写
文件 File
什么是文件
文件是用于数据存储和单位
文件通常用来长期存储数据
文件中的数据是以字节为单位进行顺序存储的
文件的操作流程:
1. 打开文件
2. 读/写文件
3. 关闭文件
注:
任何的操作系统,一个应用程序同时打开文件的数量有最大数限制
文件的打开函数
open(file, mode='rt/wt') 用于打开一个文件,返回此文件流对象,如果打开文件失败,则会触发OSError错误
对文件的读/写:
文件的关闭方法:
F.close() # 关闭文件,释放系统资源
文本文件操作
操作模式:
't'
说明:
1. 默认文件中存储的都为字符数据,在读写过程中会自动进行编解码操作,
2. 文本文件以行为单位进行分隔,在python内部统一用'\n'作用为换行符进行分隔
3. 对文本文件的读写操作需要用字符串(str) 进行数据操作
各操作系统的换行符
Linux换行符: '\n'
Windows 换行符: '\r\n'
新的Mac OS 换行符: '\n'
旧的Macintosh换行符: '\r'(已不用了)
这是对文件的读示例:
zengsf.txt内容:
张三 20 100
李四 21 96
小王 20 98
~ def read_info_txt():
dic = []
try:
f = open("zengsf.txt")
lines = f.readlines() #一次性读取文件的所有数据,然后用for循环来进行遍历
for x in lines:
l = x.split(" ")
dic.append({"name":l[0],"age":int(l[1]),"score":int(l[2])})
print("%s今年%d岁,成绩是:%d"%(l[0],int(l[1]),int(l[2])))
f.close()
return dic
except:
print("文件打开失败") def print_info(L):
for d in L:
print(d["name"],"今年",d["age"],"岁,成绩是:",d["score"]) L = read_info_txt()
print(L)
print_info(L) 打印结果:
tarena@tedu:~/zengsf$ python3 exercise822.py
张三今年20岁,成绩是:100
李四今年21岁,成绩是:96
小王今年20岁,成绩是:98
[{'name': '张三', 'score': 100, 'age': 20}, {'name': '李四', 'score': 96, 'age': 21}, {'name': '小王', 'score': 98, 'age': 20}]
张三 今年 20 岁,成绩是: 100
李四 今年 21 岁,成绩是: 96
小王 今年 20 岁,成绩是: 98
对文件的读写示例:
文本文件的写方法:
模式字符串:"w"/"x"/"a"
F.write(字符串)
F.writelines(字符串列表)
def input_data():
l = []
while True:
x = input("请输入你要存入的数据:")
if x == "":
break
l.append(x)
return l #将键盘输入的数据存在列表中 #f = open("input.txt","rt") def write_data(l):
try:
f = open("input.txt", "w") #创建或打开文件进行写操作
for i in l: #循环遍历列表并将数据写入文件中
f.write(i)
f.write("\n")
f.close
except OSError:
print("存入数据失败") write_data(input_data()) def read_data():
l = []
try:
f = open("input.txt", "rt") #读取刚刚写入的数据
lines = f.readlines()
for line in lines:
s = line.rstrip("\n")
l.append(s)
print("读取文件成功")
return l
except OSError:
print("文件打开失败") def print_text(lst):
for line_number ,s in enumerate(lst, 1): #利用到了迭代器中的枚举方法
print(line_number, ":", s) if __name__ == '__main__':
print_text(read_data()) 输出结果: tarena@tedu:~/zengsf$ python3 exercise822.py
请输入你要存入的数据:zengsf
请输入你要存入的数据:shaofeng
请输入你要存入的数据:fengshao
请输入你要存入的数据:
读取文件成功
1 : zengsf
2 : shaofeng
3 : fengshao
python对文件的读写的更多相关文章
- python之文件的读写和文件目录以及文件夹的操作实现代码
这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用 ...
- python CSV 文件的读写
1.CSV文件 import csv with open(r"E:\code\0_DataSet\tianchi_2015_mobile_recommand\fresh_comp_offli ...
- python之文件的读写(2)
小R昨天因为在研究weblogic的漏洞就没来得及学习python(好吧,这都是借口,懒了,大家可不能像我这样.要坚持每天都学). 这个进度是有点慢呀.哎呀,没事没事,我还年轻,才20岁. 哈哈 ...
- python之文件的读写(1)
真的崩溃,刚写完的笔记由于点错了,现在特么又要重新写了. 崩溃呀.......... 之前的废话就不再重复了,直接进入正题吧. 今天小R 学了一天的NP课程,但是python还是不能忘得,所以晚上又 ...
- Python对文件的读写操作
Python使用open函数来读写文件,open函数的第一个参数是文件名,第二个参数是可选的,有4种常见模式:(1)r 打开一个文件来读数据,这是默认模式:(2)w 打开一个文件来写数据,如果文件已有 ...
- 『无为则无心』Python基础 — 41、Python中文件的读写操作(一)
目录 1.文件操作步骤 2.文件的读写操作 (1)文件的打开 (2)打开文件模式 (3)获取一个文件对象 (4)关于文件路径 1.文件操作步骤 当我们要读取或者写入文件时,我们需要打开文件,在操作完毕 ...
- Python 【文件的读写】
文件读写 A 读取文件 读文件三步:开——读——关.file1 = open('/Users/Ted/Desktop/test/abc.txt','r',encoding='utf-8')第一个参数是 ...
- Python Excel文件的读写操作(xlwt xlrd xlsxwriter)
转:https://www.cnblogs.com/ultimateWorld/p/8309197.html Python语法简洁清晰,作为工作中常用的开发语言还是很强大的(废话). python关于 ...
- Python CSV文件处理/读写及With as 用法
可以不使用CSV模块 逐行处理: for line in open("samples/sample.csv"): title, year, director = line.spli ...
随机推荐
- How To Use Coordinates To Extract Sequences In Fasta File
[1] bedtools (https://github.com/arq5x/bedtools2) here is also bedtools (https://github.com/arq5x/be ...
- mathematical method
mathematical method 曲线拟合 指数 \(lnY = lna + bX\) 对数 \(Y = blnX + a\) 幂函数 \(lgY=lga+blgX\) 多元线性回归模型 回归分 ...
- Python简易项目 加减计算器的实现
Python Calculator 1.0 支持功能:add.minus 输入表达式不含括号,允许不加'=' 非常简单的一个小计算器,还缺少很多功能,目的是为了练练手. 日后会对其进行更新. 源码 G ...
- Gym - 100712H Bridges(边—双连通分量)
https://vjudge.net/problem/Gym-100712H 题意: 给出一个图,求添加一条边后最少的桥数量. 思路: 参考了ZSQ大神的题解http://blog.csdn.net/ ...
- java高级特性(1)--理解面向对象思想
前言: 优秀的代码具备:高性能.可重用.可扩展.易维护.易理解 具体实现: 高性能:合理使用算法,数据结构等等 可重用:封装.继承 可扩展:多态 易维护.易理解:命名规范 + 注解 面向对象是一种思想 ...
- mysql中索引利用情况(explain用法)
使用explain查看,如下 1.首先创建表test,语句如下 create table test(a int,b varchar(10),c varchar(10)); 2.在表中的a,b都创建索引 ...
- Kubernetes容器运行时(CRI)简介
Kubernetes节点的底层由一个叫做“容器运行时”的软件进行支撑,它负责比如启停容器这样的事情.最广为人知的容器运行时当属Docker,但它不是唯一的.事实上,容器运行时这个领域发展迅速.为了使K ...
- 如何选择正确的angular2学习曲线?
参考: https://www.zhihu.com/question/50800464/answer/122921043 https://www.zhihu.com/question/48670501 ...
- JavaScript封装Ajax工具函数及jQuery中的ajax,xhr在IE的兼容
封装ajax工具函数 首先要思考:1.为什么要封装它?提高开发效率2.把一些不确定的情况考虑在其中 a. 请求方式 b. 请求地址 c. 是否异步 d. 发送参数 e. 成功处理 f. 失败处理3.确 ...
- 二十三 Python分布式爬虫打造搜索引擎Scrapy精讲—craw母版l创建自动爬虫文件—以及 scrapy item loader机制
用命令创建自动爬虫文件 创建爬虫文件是根据scrapy的母版来创建爬虫文件的 scrapy genspider -l 查看scrapy创建爬虫文件可用的母版 Available templates: ...