python之txt文件基本操作

1. 读取txt文本内容

python常用的读取文件函数有三种read()、readline()、readlines()

1.1 read()

read()一次性读取文本中全部的内容,以字符串的形式返回结果.

with open('test.txt', 'r') as f:  # 打开文件
    data = f.read()  # 读取文件
    print(data)

1.2 readline()

readline() 只读取文本第一行的内容,以字符串的形式返回结果.

with open('test.txt', 'r') as f:
    data = f.readline()
    print(data)

1.3 readlines()

readlines() 读取文本所有内容,并且以列表的格式返回结果,一般配合for in使用.

with open('test.txt', 'r') as f:
    data = f.readlines()
    print(data)

readlines会读到换行符,可用如下方法去除:

with open('test.txt', 'r') as f:
    for line in f.readlines():
        line = line.strip('\n')  #去掉列表中每一个元素的换行符
        print(line)

2. 写入txt文本

with open('test.txt','w') as f:
    f.write("写入文件测试!")  # 自带文件关闭功能,不需要再写f.close()

2.1 读写模式

要了解文件读写模式,需要了解几种模式的区别,以及对应指针

  • r : 读取文件,若文件不存在则会报错
  • w: 写入文件,若文件不存在则会先创建再写入,会覆盖原文件
  • a : 写入文件,若文件不存在则会先创建再写入,但不会覆盖原文件,而是追加在文件末尾
  • rb,wb: 分别于r,w类似,但是用于读写二进制文件
  • r+ : 可读、可写,文件不存在也会报错,写操作时会覆盖
  • w+ : 可读,可写,文件不存在先创建,会覆盖
  • a+ : 可读、可写,文件不存在先创建,不会覆盖,追加在末尾

2.2 读取txt文件的若干行写入另一个txt

方法一:

file_1 = './data/1.txt'
file_2 = './data/2.txt'

with open(file_1, 'rb') as fp1:
    with open(file_2, 'ab') as fp2:
        for i in range(100):
            line_data = fp1.readline()
            fp2.write(line_data)

方法二:

file_1 = './data/1.txt'
file_2 = './data/2.txt'

fp_1 = open(file_1, 'rb')
fp_2 = open(file_2, 'ab')
 
line_id = 0
while True:
    line_data = fp_1.readline()
    # print('line_data:', line_data)
    line_id = line_id + 1
    
    if line_id>=1 and line_id<=100:
        print('line_id:', line_id)
        fp_2.write(line_data)
    else:
        break
        
fp_1.close() # 文件关闭, 若不关闭可能会导致部分写入数据丢失
fp_2.close() # 文件关闭, 若不关闭可能会导致部分写入数据丢失

3. 其他使用

3.1 删掉指定字符前/后的内容

如下所示, 我们想删除右括号 ] 左边的内容, 得到 Today is Wednesday

line_data = '2021-09-01 [] Today is Wednesday'
head, sep, tail = line_data.partition('] ')
print(tail)

输出结果如下所示:

Today is Wednesday

3.2 csv文件存为txt

使用df.to_csv()不仅可以存储CSV文件, 还可以存储TXT文件:

import pandas as pd

df = pd.read_csv('./data/test.csv', header=None)
df.to_csv('./data/test.txt', sep=' ', header=None, index=None) # sep=' ' 分隔符为空格

3.3 numpy读写txt

3.3.1 np.savetxt()

numpy.savetxt(fname, X, fmt='%.18e', delimiter=' ', newline='\n', header='', footer='', comments='# ', encoding=None)[source]
  • fname:表示要保存文件的地址,可以自己建文件名,如‘test.txt’
  • X:表示要保存的文件
  • fmt:控制数据存储的格式
  • delimiter :分隔符,默认空格,也可以用逗号等
  • newline:表示换行的时候用什么,默认\n,表示换一行,也可以用\t,则表示空四格
  • header:表示头文件,如“test_data"
  • footer: 文件下的脚注
  • comment:注释,默认是#,因为python的注释是#,也可以用其它符号

样例代码如下:

import numpy as np 
#生成数据 
x = y = z = np.ones((2,3)) 
x 
>>> array([[1., 1., 1.], 
       [1., 1., 1.]]) 
        
#保存数据 
np.savetxt('test.out', x) 
np.savetxt('test1.out', x, fmt='%d') 
np.savetxt('test2.out', x, delimiter=',') 
np.savetxt('test3.out', x, newline='a') 
np.savetxt('test4.out', x, delimiter=',',newline='a') 
np.savetxt('test5.out', x, delimiter=',',header='abc') 
np.savetxt('test6.out', x, delimiter=',',footer='abc') 

3.3.2 np.loadtxt()

numpy.loadtxt(fname, dtype=<class 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False, ndmin=0, encoding='bytes')
  • fname:文件名/文件路径,如果文件后缀是.gz或.bz2,文件将被解压,然后再载入
  • dtype:要读取的数据类型
  • comments:文件头部或者尾部字符串的开头字符,用于识别头部,尾部字符串
  • delimiter:划分读取上来值的字符串
  • converters:数据行之间的分隔符

样例代码如下:

np.loadtxt('test.out') 
np.loadtxt('test2.out', delimiter=',') 
  • 6
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 可以使用 Python 内置的 `open` 函数来读取 txt 文件。具体步骤如下: 1. 打开文件:使用 `open` 函数,指定文件路径和打开模式(一般使用只读模式 `r`)。 2. 读取文件内容:使用 `read` 或 `readlines` 方法读取文件内容。`read` 方法会将整个文件内容作为一个字符串返回,`readlines` 方法则会将文件内容按行读取,并返回一个包含每行内容的列表。 3. 关闭文件:使用 `close` 方法关闭文件。 以下是一个读取 txt 文件的示例代码: ```python with open('example.txt', 'r') as f: # 读取整个文件内容 content = f.read() print(content) # 读取每行内容 f.seek(0) # 将文件指针移动到文件开头 lines = f.readlines() for line in lines: print(line.strip()) # 去除每行结尾的换行符 ``` 其中,`with open(...) as f` 语句可以自动关闭文件,无需手动调用 `close` 方法。 ### 回答2: Python可以使用内置的open()函数来读取txt文件。首先,我们需要使用open()函数来打开要读取txt文件,并指定打开模式为读取模式和文件的路径。例如,如果txt文件的路径为'example.txt',则可以使用以下代码来打开txt文件: ``` file = open('example.txt', 'r') ``` 接下来,我们可以使用file对象的read()方法来读取整个txt文件的内容。read()方法将返回文件的完整内容作为一个字符串。例如,我们可以使用以下代码来读取txt文件的内容并将其存储在一个变量中: ``` content = file.read() ``` 如果想一次读取文件的一行,可以使用readline()方法。这个方法将返回文件的下一行内容作为一个字符串。例如,我们可以使用以下代码来读取txt文件的第一行内容: ``` line1 = file.readline() ``` 如果想逐行读取文件的内容,并将其存储在一个列表中,可以使用readlines()方法。这个方法将返回一个包含文件每一行内容的列表。例如,我们可以使用以下代码来逐行读取txt文件的内容: ``` lines = file.readlines() ``` 最后,我们需要在读取txt文件后调用file对象的close()方法来关闭文件。这样可以确保文件资源被正确释放。例如,我们可以使用以下代码来关闭txt文件: ``` file.close() ``` 以上就是使用Python读取txt文件的基本方法。读取文件可以帮助我们获取文件内容并对其进行处理。读取txt文件的方法可以根据具体的需求进行选择和使用。 ### 回答3: Python读取txt文件可以使用open()函数进行操作。open()函数的第一个参数为要打开的文件名,第二个参数为读取模式(默认为'r',即只读模式)。 首先,我们需要准备一个txt文件,在Python脚本文件的同级目录下创建一个名为sample.txt文件。 接下来,我们可以使用以下代码读取txt文件内容: ```python # 以只读模式打开文件 file = open('sample.txt', 'r') # 使用read()方法读取文件内容 content = file.read() # 打印文件内容 print(content) # 关闭文件 file.close() ``` 上述代码中,我们首先使用open()函数打开了sample.txt文件,然后使用read()方法读取文件内容并将其赋值给变量content,之后使用print()函数打印文件内容。最后,使用close()方法关闭文件。 需要注意的是,在读取文件完成后,一定要记得使用close()方法关闭文件,以防止占用系统资源。 除了read()方法,还可以使用其他方法读取txt文件内容,比如readline()方法可以逐行读取文件内容,readlines()方法可以逐行读取文件内容并存储为一个列表。 另外,如果文件较大,建议使用with关键字来打开文件,这样可以在读取完成后自动关闭文件,代码如下: ```python with open('sample.txt', 'r') as file: content = file.read() print(content) ``` 通过以上方法,我们可以方便地读取txt文件并进行相应的处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值