如何用Python生成含递增数字的多行内容并写入文本文件?
如何用Python生成带递增数字的批量文本行并写入文件?
嘿,这事儿超简单的,用Python几行代码就能轻松搞定!我给你两种实用的实现方式,你可以根据自己的习惯来选:
方法一:基础循环写法
这种写法逻辑直白,新手也能一眼看懂:
# 打开文件,'w'表示写入模式(文件不存在会自动创建,存在则覆盖内容) with open('output.txt', 'w') as file: # 遍历1901到2100的数字(range是左闭右开,所以结束值要写2101) for num in range(1901, 2101): # 用f-string格式化字符串,把当前数字替换进去 line = f"this_is_the_string_with_a_number_{num}_in_each_line\n" # 写入当前行 file.write(line)
这里用with语句是Python的最佳实践——它会自动帮你关闭文件,不用手动写file.close(),能避免忘记关闭文件导致的资源泄漏问题。range(1901, 2101)刚好覆盖1901到2100的所有数字,因为range的结束值是不包含在内的。
方法二:简洁的列表推导式写法
如果想让代码更紧凑,还可以用列表推导式一次性生成所有内容,再批量写入:
with open('output.txt', 'w') as file: # 生成包含所有目标行的列表 lines = [f"this_is_the_string_with_a_number_{num}_in_each_line\n" for num in range(1901, 2101)] # 一次性写入所有行,数据量大时效率更高(200行的话两种方法差别不大) file.writelines(lines)
writelines()方法可以直接接收一个字符串列表并写入,对于海量数据来说比逐行写入效率更高,不过200行的话两种写法体验差不多,看你更喜欢哪种风格~
额外小提示
- 如果不想覆盖已有文件的内容,可以把打开模式改成
'a'(追加模式),新内容会自动加到文件末尾。 - 如果需要指定编码格式(比如UTF-8),可以在
open()函数里添加encoding='utf-8'参数,比如:open('output.txt', 'w', encoding='utf-8')。
内容的提问来源于stack exchange,提问作者navajyothmp
相关产品推荐
相关产品推荐

