借鉴大佬
作者:keloli
链接:https://www.jianshu.com/p/2aeee1ed59ec
来源:简书
python文件
# 打开文件
file=open(文件地址,操作形式(包括:w:写入,r:读取,b:以二进制形式,a:在文件末尾追加))
# 读出文件
file.read()
file.readline() # 读取文件的一行
# 关闭文件
file.close() #打开文件一定要关闭
# 写入文件(覆盖原来的)
file.write(要写入的数据) # 写入后一定要关闭才能保存
# 写入文件(追加写入,不覆盖)
# Python文件操作例子
FilePath='D:\\Code_hub\\test\\tmp1.txt'
data1="data1"
data2="data2"
# 新建文件:file,写入数据,关闭保存
File=open(FilePath,'w')
File.write(data1)
File.close()
# 文件:file,写入数据(会将原来文件内容覆盖),关闭保存
File=open(FilePath,'w')
File.write(data2)
File.close()
# 文件:file,写入数据(在原来文件内容后面追加),关闭保存
File=open(FilePath,'a')
File.write(data2)
File.close()
# 用上下文管理器(with-as)来打开文件
# IO资源的管理更加安全,而且不用惦记着给文件执行close()函数
# open()的第一个参数是文件名,第二个参数是模式
# 文件的模式一般有四种,读取(r),写入(w),追加(a)和读写(r+)
# 如果希望按照二进制数据读取,则将文件模式和b一起使用(wb, r+b…)
# 现有一文件'name_age.txt'
# 文件内容为:
Tom+8
Jerry+7
Tyke+3
with open('name_age.txt', 'r') as f: # 打开文件,读取模式
lines = f.readlines() # 一次读取所有行
for line in lines: # 按行格式化并显示信息
name, age = line.rstrip().split('+') # rstrip():右侧去除换行符;split():以某符号为分隔符划分字符串
print('{} is {} years old.'.format(name, age))
# 执行后结果为:
Tom is 8 year old.
Jerry is 7 year old.
Tyke is 3 year old.
# 如果要读取文件内容,并把年龄和名字的顺序交换存成新文件age_name.txt,这时可以同时打开两个文件:
with open('name_age.txt', 'r') as fread, open('age_name.txt', 'w') as fwrite:
line = fread.readline()
while line:
name, age = line.rstrip().split('+')
fwrite.write('{}-{}\n'.format(age, name))
line = fread.readline()
# 此时age_name.txt文件内容为:
8-Tom
7-Jerry
3-Tyke
。