时间:2022-08-22 09:23:40 | 栏目:Python代码 | 点击:次
(1)打开文件读取整个文件
函数open返回一个表示文件的对象,对象存储在infile中。关键字with在不需要访问文件时将其自动关闭。读取出的内容以字符串形式保存在data1/data2里
(2)第一种:读取所有行 infile.readlines()
(3)第二种:每行分开读取 for循环 line.strip("\n").split()
(4)第三种:每个字符分开读取 for循环-for循环
(5)读取文本文件时,python将其中的所有文本都解读为字符串str。如果读取的是数字,并要将其作为数值使用,就必须使用函数int()将其转化为整数。或使用float()将其转换为浮点数。
def read_txt(inputpath, outputpath): with open(outputpath, 'w', encoding='utf-8') as file: with open(inputpath, 'r', encoding='utf-8') as infile: # 第一种:读取所有行 #data1 = infile.readlines() #print(data1) # 输出:['1 2 3 4 5\n', '6 7 8 9 10'] # 第二种:每行分开读取 data2 = [] for line in infile: data_line = line.strip("\n").split() # 去除首尾换行符,并按空格划分 print(data_line) data2.append([int(i) for i in data_line]) print(data2) # 输出:[[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]] # 第三种:每个字符分开读取 data = data2 for i in range(len(data2)): for j in range(len(data2[i])): data[i][j] = str(data2[i][j]) print(data) # 输出:[['1', '2', '3', '4', '5'], ['6', '7', '8', '9', '10']] # 写入方法 for line in data2: # data = '' + '\t'.join(str(i) for i in line) + '\n' # 用\t隔开 data = '' + ' '.join(str(i) for i in line) + '\n' # 用空格隔开 file.write(data) if __name__ == "__main__": input_path = '1.txt' output_path = '2.txt' read_txt(input_path, output_path)
如果有报错
改为绝对路径即可注意符号是 /
' '是相对调用(在当前目录寻找文件名)
" "是绝对调用,要写入绝对路径
spilt()函数实际上就是读取到什么就按照那个作为下一个分割的信号
strip()用来除掉首尾需要的字符
比如说txt里有,
可以直接用记事本打开用空格替换所有,即可
然后使用.spilt即可