python对文件的读写
Posted zengsf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python对文件的读写相关的知识,希望对你有一定的参考价值。
文件 File
什么是文件
文件是用于数据存储和单位
文件通常用来长期存储数据
文件中的数据是以字节为单位进行顺序存储的
文件的操作流程:
1. 打开文件
2. 读/写文件
3. 关闭文件
注:
任何的操作系统,一个应用程序同时打开文件的数量有最大数限制
文件的打开函数
open(file, mode=‘rt/wt‘) 用于打开一个文件,返回此文件流对象,如果打开文件失败,则会触发OSError错误
对文件的读/写:
文件的关闭方法:
F.close() # 关闭文件,释放系统资源
文本文件操作
操作模式:
‘t‘
说明:
1. 默认文件中存储的都为字符数据,在读写过程中会自动进行编解码操作,
2. 文本文件以行为单位进行分隔,在python内部统一用‘
‘作用为换行符进行分隔
3. 对文本文件的读写操作需要用字符串(str) 进行数据操作
各操作系统的换行符
Linux换行符: ‘
‘
Windows 换行符: ‘
‘
新的Mac OS 换行符: ‘
‘
旧的Macintosh换行符: ‘
‘(已不用了)
这是对文件的读示例:
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) 打印结果: [email protected]:~/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(" ") 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(" ") 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()) 输出结果: [email protected]:~/zengsf$ python3 exercise822.py 请输入你要存入的数据:zengsf 请输入你要存入的数据:shaofeng 请输入你要存入的数据:fengshao 请输入你要存入的数据: 读取文件成功 1 : zengsf 2 : shaofeng 3 : fengshao
以上是关于python对文件的读写的主要内容,如果未能解决你的问题,请参考以下文章