python中如何读写文件不乱码
python中对文件的读和写操作是经常要用到的,下面说一下文件读和写的方法。
读文件 打开文件(文件需要存在)
#打开文件f = open("data.txt","r") #设置文件对象
print(f)#文件句柄
f.close() #关闭文件
#为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('data.txt',"r") as f: #设置文件对象
str = f.read() #可以是随便对文件的操作
完全读取文件
#完全读取文件f = open("data.txt","r") #设置文件对象
string1 = f.read() #将txt文件的所有内容读入到字符串string1中
f.close() #将文件关闭
print(string1)
按按行读取整个文件方法一(删除回车)
#按行读取整个文件方法一(删除回车)data = []
f = open("data.txt","r") #设置文件对象
line = f.readline()
if line !='
' and line[len(line) -1 if len(line)-1>0 else 0] == "
":#去掉换行符,也可以不去
line_ = line[:-1]
data.append(line_)
while line: #直到读取完文件
line = f.readline() #读取一行文件,包括换行符
if line !='' and line[len(line) -1 if len(line)-1>0 else 0] == "
":#去掉换行符,也可以不去
line_ = line[:-1]
data.append(line_)
f.close() #关闭文件
print(data)
按行读取整个文件方法一(不删除回车)
#按行读取整个文件方法一(不删除回车)data = []
f = open("data.txt","r") #设置文件对象
line = f.readline()
data.append(line)
while line: #直到读取完文件
line = f.readline() #读取一行文件,包括换行符
if line !='':
data.append(line)
f.close() #关闭文件
print(data)
按行读取整个文件第二种方法
#按行读取整个文件第二种方法data = []
for line in open("data.txt","r"): #设置文件对象并读取每一行文件
data.append(line) #将每一行文件加入到list中
print(data )
写文件
列表写入文件
#列表写入文件(直接)data = ['a','b','c']
#单层列表写入文件
with open("data.txt","w") as f:
f.writelines(data)
#列表写入文件(加入一些东西)data = ['a','b','c']
#单层列表写入文件
with open("data.txt","w") as f:
for i in data:
f.write(i+'
')
#二维列表写入文件data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f: #设置文件对象
for i in data:
i = str(i).strip('[').strip(']').replace(',','').replace(''','').replace(' ',',')+'
' #将其中每一个列表规
范化成字符串
print(i)
f.write(i)
#第二种方法,直接将每一项都写入文件data =[ ['a','b','c'],['a','b','c'],['a','b','c']]
with open("data.txt","w") as f: #设置文件对象
for i in data: #对于双层列表中的数据
f.writelines(i)
更多学习内容,请点击网。
以上是 python中如何读写文件不乱码 的全部内容, 来源链接: utcz.com/z/523476.html