number_file = open('numbers.txt') # implicitly read mode
numbers = [] # the list in which we're going to store all our numbers
# iterates over each line of the file
for line in number_file:
n = int(line) # parsing the string into an integer
numbers.append(n) # adding the number to your list
number_file.close()
file = 'data.txt'
print(open(file).read(), '\n')
for line in open(file):
print('\nline', line)
for number in line.split():
print(int(number))
11 22 33
1 2 3
0
line 11 22 33
11
22
33
line 1 2 3
1
2
3
line 0
0
嗨,安东尼
解析文件取决于它使用的格式。假设您的文件是一个由新行分隔的数字序列,下面我将继续:
首先,你必须打开你的文件。为此,可以使用标准的^{} 函数。你知道吗
open
将要处理的文件的路径作为第一个参数,第二个参数是模式,可以是'r'
读取,'w'
覆盖,'a'
将文本以及二进制变量附加到文件中(默认值为'r'
)。不是说open
的其他参数。最酷的是,
open
也是我们在Python中所称的context manager。在这个行话背后隐藏着一个非常简单的概念,即在给定代码之前和之后执行操作。你知道吗with
关键字允许您使用上下文管理器:如果您没有注意到,就不必使用上下文管理器关闭文件,因为
open
正在处理这个问题。你知道吗这就是为什么建议使用此方法而不是以前的方法:您不能忘记关闭文件,因此,如果您打开文件两次(例如,如果您要修改和保存序列化对象),则不太可能出现操作系统错误。你知道吗
一般来说,您必须自己过滤数据,找出每个值的位置,以及应该应用于哪个变量。但是有很多标准格式python可以直接读取,并且可以为您做很多事情。例如,如果您的文本数据是JSON格式的,那么它就像导入JSON一样简单,variable=json.load文件(打开('文件数据.json','r'))
但是如果它不是任何已知的格式,python可以读取,那么您必须要么将它转换为已知的格式,要么自己动手。有一些软件包可以帮助您“解析”文本,以便更轻松地处理某人创建了一个完整的文本列表:https://github.com/webmaven/python-parsing-tools
这就是为什么每个人都问你数据的格式是什么。如果它是一种已知的格式,您可能可以使用它,但是如果它是某种特殊的自定义格式,那么您需要一个特殊的解析器,您必须自己编写,或者以某种方式将该数据转换为不同的格式。你知道吗
相关问题 更多 >
编程相关推荐