2024-05-16 18:05:15 发布
网友
如何在Python中读取字符串的每一行,并将所选行存储为数组中的元素?在
我想逐行读取文件,并且每行都追加到数组的末尾。我在任何地方都找不到如何做到这一点,也找不到如何在Python中创建字符串数组。在
例如:
第1行=
abc def gef lmn qrt was lmh kjd lxm skd fdj djk ndz weg tdg ndg has dbg pef rah vdg pas dgh ghr bde ghx ore
我的输出应该是:
像这样:
line1="""abc def gef lmn qrt was lmh kjd lxm skd fdj djk ndz weg tdg ndg has dbg pef rah vdg pas dgh ghr bde ghx ore""" lis = [""] for line in line1.splitlines(): if line.strip(): lis[-1] += "\n"+ line else: if lis[-1] != "": lis.append("") print lis[0] print lis[1] print lis[2]
输出:
这将打开一个文件并将所有行读取到名为lines的变量中。它还会为您删除后面的新行。在
lines
with open('<<FILENAME>>', 'r') as file: lines = [line.rstrip() for line in file.readlines()]
解剖:
with open...
指示您正在打开一个文件名供'r'读取,并命名结果文件对象file。它将在它下面的区块完成后为您销毁。在
'r'
file
lines =
将右侧的表达式赋值给lines
[line.rstrip() for line in file.readlines()]
根据文件内容创建列表:
line.rstrip()
file.readlines()
for line in
>>> line1 = """abc def gef ... lmn qrt was ... lmh kjd lxm ... ... skd fdj djk ... ndz weg tdg ... ndg has dbg ... ... pef rah vdg ... pas dgh ghr ... bde ghx ore""" >>> line1.split("\n\n") ['abc def gef\nlmn qrt was\nlmh kjd lxm', 'skd fdj djk\nndz weg tdg\nndg has dbg', 'pef rah vdg\npas dgh ghr\nbde ghx ore'] >>> for number, item in enumerate(line1.split("\n\n")): ... print("Line number {0}".format(number)) ... print(item) ... Line number 0 abc def gef lmn qrt was lmh kjd lxm Line number 1 skd fdj djk ndz weg tdg ndg has dbg Line number 2 pef rah vdg pas dgh ghr bde ghx ore >>>
像这样:
输出:
^{pr2}$这将打开一个文件并将所有行读取到名为
lines
的变量中。它还会为您删除后面的新行。在解剖:
with open...
指示您正在打开一个文件名供
'r'
读取,并命名结果文件对象file
。它将在它下面的区块完成后为您销毁。在lines =
将右侧的表达式赋值给
lines
[line.rstrip() for line in file.readlines()]
根据文件内容创建列表:
line.rstrip()
发生在file.readlines()
的结果中的每一行,它删除后面的新行。在for line in
是一种就地枚举结果的方法(参见Python List Comprehensions)。在file.readlines()
返回按新行拆分的所有行(及其行尾)的列表。在相关问题 更多 >
编程相关推荐