python读写txt文件
㈠ python文件读写
常见的读写操作:
Python内置了读写文件的函数,用法和C是兼容的。本节介绍内容大致有:文件的打开/关闭、文件对象、文件的读写等。仅示例介绍 TXT 类型文档的读写,也就是最基础的文件读写,也需要注意编码问题;
open() close() with open(...) as ...
看以下示例就能了解 Python 的 open() 及 close() 函数。这边调用 read()方法可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示,具体使用参见下文。
在 E 盘 python_file 文件夹下新建一 a.txt,输入随意,如下:
Python 操作 打开及关闭方式 如下:
注意 open() 之后 一定要 close()。但由于文件读写时都可能产生IOError,为了保证无论是否出错都能正确地关闭文件,我们用 try ... finally 来实现:
python 简化了改写法,即用 with open(...) as ... ; 建议之后文件读写都用该写法:
上面,你肯定注意到了参数 "r";该参数决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r)。
相关参数:
File 对象
file 为一对象,它有一些内置属性,如下
file对象的属性:
read() read(size) readline() readlines()
之前的例子已经接触到了 read() 函数,该函数会会一次性读取文件的全部内容,如果能确保文件的大小,自然可以。但若文件过大,内存就爆了,所以,可以反复调用read(size)方法,每次最多读取size个字节的内容;也可调用 readline() 每次读取一行内容;而调用readlines()可以一次读取所有内容并按行返回list。总之,根据需求来。仅以 txt 文件为例,其他的文件读取需要特殊处理;另外,文件的格式编码方式也需要注意;这边仅介绍读取方法,其他的会出专题来学习。
在D:\python_file 下新建 poet.txt;示例如下,由于一个中文会占多个字节,故read(size) 部分会乱码,如:
write()
写文件和读文件是一样的,唯一区别是调用open()函数时,传入标识符'w'或者'wb'表示写文本文件或写二进制文件;'a' 对应的表示追加等。
如下示例,由于 write.txt 文件不存在,创建该文件并写入:
在上例基础上,继续,该文件被重写:
继续,这次使用追加,会在文件结尾追加:
https://blog.csdn.net/msspark/article/details/86745391
https://www.cnblogs.com/tianyiliang/p/8192703.html
https://www.cnblogs.com/camilla/p/7234657.html
https://blog.csdn.net/songlh1234/article/details/83316468
https://www.php.cn/python-tutorials-412484.html
https://blog.csdn.net/weay/article/details/80946152
https://blog.csdn.net/xc_zhou/article/details/81044836
㈡ python读取文件—txt文件常用读写操作
f = open("data.txt","r") #设置文件对象
f.close() #关闭文件
为了方便,避免忘记close掉这个文件对象,可以用下面这种方式替代
with open('data.txt',"r") as f: #设置文件对象
str = f.read() #可以是随便对文件的操作
f = open("data.txt","r") #设置文件对象
str = f.read() #将txt文件的所有内容读入到字符串str中
f.close() #将文件关闭
f = open("data.txt","r") #设置文件对象
line = f.readline()
line = line[:-1]
while line: #直到读取完文件
line = f.readline() #读取一行文件,包括换行符
line = line[:-1] #去掉换行符,也可以不去
f.close() #关闭文件
data = []
for line in open("data.txt","r"): #设置文件对象并读取每一行文件
data.append(line) #将每一行文件加入到list中
f = open("data.txt","r") #设置文件对象
data = f.readlines() #直接将文件中按行读到list里,效果与方法2一样
f.close() #关闭文件
可以使用pandas的.read_csv,读取文件的时候可以给每一列起名字,通过列名来调取相应列的数据。
import pandas as pd
data = pd.read_csv(" OSDO1012.txt",sep=',',header=None, names=['lat','lon','time','z']
使用data.lat就可以读取名为lat这一列的数据
data = np.loadtxt("data.txt",skiprows = 1) #将文件中数据加载到data数组里,并且跳过第一行
with open('data.txt','w') as f: #设置文件对象
f.write(str) #将字符串写入文件中
data = ['a','b','c']
单层列表写入文件
with open("data.txt","w") as f:
f.writelines(data)
每一项用空格隔开,一个列表是一行写入文件
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('\'','')+'\n' #将其中每一个列表规范化成字符串
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) #写入文件
np.savetxt("data.txt",data) #将数组中数据写入到data.txt文件
np.save("data.txt",data) #将数组中数据写入到data.txt文件
㈢ Python 创建文件——如何追加和写入文本文件
Python 文件操作是编码中不可或缺的一部分,它允许我们存储和管理数据。本文将详细介绍如何在 Python 中进行文件的写入、追加和读取操作。
首先,为了演示,我们设置一个简单的项目结构。在你的主目录中创建一个新目录,然后新建一个空文本文件text.txt。
在 Python 中,推荐使用with关键字来处理文件,这样可以确保文件在操作完成后正确关闭。以下是写入文本文件的示例:
python
with open('text.txt', 'w') as file:
file.write('这是写入的内容\n')
注意,每次调用`write()`方法后,原有内容会被覆盖。若已有内容,先追加后写入,应使用模式'a':
python
with open('text.txt', 'a') as file:
file.write('这是追加的内容\n')
读取文件时,使用'r'模式,可以一次性读取全部内容,或用for循环逐行读取:
python
with open('text.txt', 'r') as file:
print(file.read()) # 一次性读取全部内容
for line in file:
print(line) # 逐行读取
通过这些基本操作,你已经掌握了 Python 文件的读写技巧。深入学习 Python 编程,可以参考更多资源,例如我们的粉丝福利教程,它将带你探索语言的更多层面。祝你在学习过程中收获满满,享受编程的乐趣!
㈣ python怎么中文写txt文件
本文以txt 文本为例,只是介绍ANSI,Unicode,UTF-8 三种编码的文件的读写过程,对于编码不做深究了
一、用记事本另存为时,可以选择保存文本使用的的几种编码模式,分别为:
ANSI:默认保存的编码格式,采用本地操作系统默认的内码,简体中文一般为GB2312。
Unicode:UTF-16的小端字节序,加上BOM签名:0xFFFE。
Unicode bigendian:Unicode编码:UTF-16的大端字节序,加上BOM签名:0xFEFF。
UTF-8:编码格式是:UTF-8,其BOM为0xEF BB BF(UTF-8不区分字节序,这个BOM仅标志UTF-8编码)
- def read_out(self): with codecs.open(self.filename, 'r+') as get: return get.read().decode('gbk')
- f.write(self.filename.encode('gbk'))
- content = raw_input().decode(sys.stdin.encoding)
- type(content) 是unicode
Python对于读取的txt文件,最好在读取的时候进行decode成unicode编码,
然后再写入的时候进行encode成对应想要的编码类型,这样可以保证源文件的编码方式不会改变,且中文不会乱码
整个代码过程保持使用unicode编码方式利用try…except 来进行编码判别具体使用了那种编码方式
二、对于raw_input 通过键盘输入的文字,通过sys模块中的stdin.encodeing来进行解码
暂时这么多
㈤ python读写文件,如何将内容添加在文件开头呢
# coding: utf8
import os
f = open('a.txt', 'r')
content = f.read() # 读取文件内容
f_new = open('b.txt', 'w')
f_new.write('look !') # 开头写入内容
f_new.write(content) # 写入原文件内容
f.close()
f_new.close()
os.remove('a.txt') # 移除老文件
os.rename('b.txt', 'a.txt') # 新文件命名为老文件名
·········································································