这篇文章将为大家详细讲解有关Python读取.txt,.md等文本文件的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
代码如下
# example.md1 2 34 5 67 8 9 >>> with open('example.md') as f: lines = f.readlines()>>> lines['1 2 3\n', '4 5 6\n', '7 8 9\n']# 我们发现每一行后面都会有一个回车符,我们使用strip()函数消除它>>> lines = [i.strip() for i in lines]['1 2 3', '4 5 6', '7 8 9']# 每个元素是一个string,但是我们需要读取的是文本数据,所以需要将string转化为int(or float)>>> data = []>>> for line in lines: data.append([int(i) for i in line.split(' ')])[[1, 2, 3], [4, 5, 6], [7, 8, 9]]# 最后可以把list转化为ndarray形式>>> data = np.array(data)>>> dataarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])# 把上述步骤写到一个函数里>>> def read_file(file): """ read .md or .txt format file :param file: .md or .txt format file :return: data """ with open('example.md') as f: lines = f.readlines() data = [] for line in lines: data.append([int(i) for i in line.strip().split(' ')]) return np.array(data)>>> data = read_file('example.md')>>> dataarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
补充:python 各种获取md5的方式
代码如下
#使用python 库 求MD5import hashlib#求字符串MD5md5 = hashlib.md5('字符串').hexdigest()#求文件md5file = open('文件','rb')md5 = hashlib.md5(file.read())hexdigest()file.close()#python 利用mac/linex 终端命令求md5def get_MD5(file_path): '''计算MD5''' files_md5 = os.popen('md5 %s' % file_path).read().strip() file_md5 = files_md5.replace('MD5 (%s) = ' % file_path, '') return file_md5#如果是windows 系统 大概可以利用类似的方法 获取把 没做过测试#当进行获取大量文件的md5的时候,建议使用 命令的方式获取,这样 运行速度会快很多
补充:Python中读取txt文件的三种可行办法
DataTest.txt中的文件内容,文件最后尽量不要留空行,否则有的时候会出现error
1,2,3
4,5,6
7,8,9
第一种方式:使用 csv.reader()读取txt文件
import csvdata = []with open('E:/DataTest.txt', 'rt') as csvfile: reader = csv.reader(csvfile, delimiter=',') for row in reader: data.append(row) #输出结果是列表 print(data)
输出结果:
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
第二种方式:使用numpy.loadtxt()读取txt文件
import numpy as np data= np.loadtxt('E:/DataTest.txt',delimiter=',') #输出结果是numpy中数组格式print(data)
输出结果:
[[1. 2. 3.]
[4. 5. 6.]
[7. 8. 9.]]
不过在后面添加如下语句都可以转换成DataFrame格式:
df = pd.DataFrame(data) df.to_csv()print(df)
输出结果:
0 1 2
0 1.0 2.0 3.0
1 4.0 5.0 6.0
2 7.0 8.0 9.0
第三种方式:使用pandas.red_csv()读取txt文件
import pandas as pd data= pd.read_csv('E:/DataTest.txt',names=['0', '1', '2'])#输出结果是numpy中数组格式print(data)
输出结果:
0 1 2
0 1 2 3
1 4 5 6
2 7 8 9
Python的优点有哪些
1、简单易用,与C/C++、Java、C# 等传统语言相比,Python对代码格式的要求没有那么严格;2、Python属于开源的,所有人都可以看到源代码,并且可以被移植在许多平台上使用;3、Python面向对象,能够支持面向过程编程,也支持面向对象编程;4、Python是一种解释性语言,Python写的程序不需要编译成二进制代码,可以直接从源代码运行程序;5、Python功能强大,拥有的模块众多,基本能够实现所有的常见功能。
关于“Python读取.txt,.md等文本文件的方法”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。