python中如何读写文件不乱码

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

回到顶部