python读取文件的每一行(python读取文件的每一行加入list)

http://www.itjxue.com  2023-04-05 06:06  来源:未知  点击次数: 

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 处理文件数据。

在 Linux 上,你可能已经安装了 Python。如果没有,你可以通过发行版软件仓库安装它。例如,在 CentOS 或 RHEL 上:

在 macOS 上,你可以使用 MacPorts或Homebrew安装。在 Windows 上,你可以使用Chocolatey安装。

一旦安装了 Python,打开你最喜欢的文本编辑器,准备好写代码吧。

如果你需要向一个文件中写入数据,记住有三个步骤:

这与你在计算机上编码、编辑照片或执行其他操作时使用的步骤完全相同。首先,打开要编辑的文档,然后进行编辑,最后关闭文档。

在 Python 中,过程是这样的:

这个例子中,第一行以 写 模式打开了一个文件,然后用变量 f 表示,我使用了 f 是因为它在 Python 代码中很常见,使用其他任意有效变量名也能正常工作。

在打开文件时,有不同的模式:

第二行表示向文件中写入数据,本例写入的是纯文本,但你可以写入任意类型的数据。

最后一行关闭了文件。

对于快速的文件交互,常用有一种简短的方法可以写入数据。它不会使文件保持打开状态,所以你不必记得调用 close 函数。相反,它使用 with 语法:

如果你或你的用户需要通过应用程序需要向文件中写入一些数据,然后你需要使用它们,那么你就需要读取文件了。与写入类似,逻辑一样:

同样的,这个逻辑反映了你一开始使用计算机就已知的内容。阅读文档,你可以打开、阅读,然后关闭。在计算机术语中,“打开”文件意味着将其加载到内存中。

实际上,一个文本文件内容肯定不止一行。例如,你需要读取一个配置文件、 游戏 存档或乐队下一首歌曲的歌词,正如你打开一本实体书时,你不可能立刻读完整本书,代码也只能解析已经加载到内存中的文件。因此,你可能需要遍历文件的内容。

示例的第一行指明使用 读 模式打开一个文件,然后文件交由变量 f 表示,但就像你写数据一样,变量名是任意的。 f 并没有什么特殊的,它只是单词 “file” 的最简表示,所以 Python 程序员会经常使用它。

在第二行,我们使用了 line ,另一个任意变量名,用来表示 f 的每一行。这告诉 Python 逐行迭代文件的内容,并将每一行的内容打印到输出中(在本例中为终端或IDLE)。

就像写入一样,使用 with 语法是一种更简短的方法读取数据。即不需要调用 close 方法,方便地快速交互。

使用 Python 有很多方法向文件写入数据,包括用 JSON、YAML、TOML等不同的格式写入。还有一个非常好的内置方法用于创建和维护SQLite数据库,以及许多库来处理不同的文件格式,包括图像、音频和视频等。

via:

作者:Seth Kenlon选题:lujun9972译者:MjSeven校对:turbokernel

python对文本文件的读有哪些方法,写有哪些方法?

1 文件读取全文本操作

在一定场景下我们需要把文本全部内容读取出来,进行处理。python提供三种函数读取文件,分别是read readline readlines,

read():读取文件的全部内容,加上参数可以指定读取的字符。

readline():读取文件的一行。

readlines():读取文件的所有行到内存中。

不同场景下我们可以选择不同函数对文件进行读取。

1.1 方法一

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r")

txt=file.read()

# 全文本的处理

file.close()

使用read函数将文件中的内容全部读取,放在字符串变量txt中。这样操作适合于文本较小,处理简单的情况,当文件较大时,这种方式处理时不合适的。一次性读取较大的文件到内存中,会耗费较多的时间和资源。这时候分批处理效果更好。

1.2 方法二

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r")

txt= file.read(4)

# 文本的处理while txt != ""txt= file.read(4)

# 批量文本处理

file.close()

这种方法适合于分批处理文本信息,每次批量读入,批量处理,不会对内存造成较大的压力。

1.3 方法三

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r")for line infile.readlines():

# 处理每一行数据

file.close()

这种处理方式适合处理以行为分割特点的文本,并且文本较小,因为这种处理方式需要一次性把文件所有内容读取到内存中。

1.4 方法四

file_name = input("请输入你要打开的文件的完整路径及名称")

file= open(file_name, "r") # 这里的file时文件句柄for line infile:

# 处理每一行数据

file.close()

这种方式和方法三中的区别是分行读入,逐行处理,不会一次性把文件所有内容都读入到内存中,对一些大文件的处理是很有效的。

2 文件写入文本操作

文件写入有两种写入函数和一种辅助支持。

write():向文件中写入一个字符或者字节流

writelines():将一个元素全为字符串的列表写入到文件中 需要注意的是,writelines写入列表元素的时候会把列表元素的内容拼接到一起写入,不会有换行和空格 。

seek(): 辅助写入函数offset偏移量参数代表含义如下

0 - 文件开头

1 - 当前位置

2 - 文件结尾

2.1 方法一

file_name = input("output.txt", "w+")

text= "hello world!"file_name.write(text)

file.close()

2.2 方法二

file_name = input("output.txt", "w+")

list= ["中午","早上","晚上"]

file_name.writelines(list)for line infile:

# 读取写入的数据,这时候发现是没有任何内容的

file.close()

我们增加一行代码就可以读取到写入的文件内容,利用seek()函数调整写操作指针的位置,可以实现写操作之后的正常读取。

file_name = input("output.txt", "w+")

list= ["中午","早上","晚上"]

file_name.readlines(list)

file_name.seek(0) # 调整写的指针到文件的开始位置for line infile:

# 读取写入的数据,这时候会读出一行写入的数据。

file.close()

Python中怎么使用for来读取文件中每一行的内容和没一个字符呢?

这个是读每行

如果你再加一层for

for c in line:

print(c)

那就是输出每个字符

用python读取文本文件,对读出的每一行进行操作,这个怎么写?

用python读取文本文件,对读出的每一行进行操作,写法如下:

f?=?open("test.txt",?"r")

while?True:

line?=?f.readline()

if?line:

pass????#?do?something?here

line=line.strip()

p=line.rfind('.')

filename=line[0:p]

print?"create?%s"%line

else:

break

f.close()

扩展资料:

Python将txt文件读取到一个字符串里的操作方法如下:

1、首先,添加Python文件和文本文件以在vscode中读取,如下图所示。

2、其次,完成上述步骤后,在txt文件中写入一些内容以用于内容读取,只需将其写入即可,如下图所示。

3、接着,完成上述步骤后,必须导入os文件,以便可以在os中调用某些文件操作方法,如下图所示。

4、然后,完成上述步骤后,打开要读取的文件,并将读取的内容数据复制到字符串中,如下图所示。

5、随后,完成上述步骤后,打印字符串以显示内容,以方便参考,如下图所示。

6、接着,完成上述步骤后,运行jy.py文件,该文件将开始读取和打印内容,如下图所示。

7、最后,完成上述步骤后,可以看到已读取txt文件的内容,如下图所示。

(责任编辑:IT教学网)

更多

推荐计算机等级考试文章