python3中高效的字符串连接

2024-04-19 00:37:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个python3代码,其中的任务是打开一个目录中的大约550个文件,读取它们的内容,并将其附加到一个字符串变量'all'u text',该变量大约有数百万行长,相当于一行。在

我现在使用的低效代码如下-

all_text += str(file_content)

但后来我读到使用'join()'方法是有效的,所以我尝试了以下代码-

^{pr2}$

这段代码的问题是,它删除了以前保存的'all'u text'变量的内容,而只写当前文件的内容!在

我如何解决这个问题?在

谢谢你的帮助!在


Tags: 文件方法字符串代码text目录内容content
1条回答
网友
1楼 · 发布于 2024-04-19 00:37:17

join()有一个定义结构连接(iterable)其中iterable是生成器、列表或集合等等。因此,如果已经有一个从文件中读取的字符串列表,并使用join连接它们,这会很有帮助。 例如

numList = ['1', '2', '3', '4']
seperator = ', '
print(seperator.join(numList))

numTuple = ('1', '2', '3', '4')
print(seperator.join(numTuple))

s1 = 'abc'
s2 = '123'

""" Each character of s2 is concatenated to the front of s1""" 
print('s1.join(s2):', s1.join(s2))

""" Each character of s1 is concatenated to the front of s2""" 
print('s2.join(s1):', s2.join(s1))

可以使用join-like''.join(readlines(f))获取文件中的所有行

现在您可以使用join完成任务,如下所示使用fileinput模块

^{pr2}$

请参阅this answer以了解将文件合并为字符串的最有效方法。在

建议:正如您提到的那样,您是否考虑过将其存储在变量中所消耗的内存?因此,最好是在读取行的同时动态地执行计划执行的操作,而不是将其存储在变量中。在

相关问题 更多 >