python - 如何在最后一行之后将数据写入文件?
问题描述
下面我有一个片段,它将一些数据写入文件。请注意,列表的输入xml_files
可能txt_files
会不时更改,这只是一些可复制的测试数据
xml_files = ['text0.xml', 'text1.xml', 'text2.xml', 'text3.xml']
txt_files = ['text0.txt', 'text1.txt']
today = datetime.date.today().strftime('%Y-%m-%d')
with open(log_location + '/' + today + '-logT2M_II.txt', 'a') as output:
if output.tell() == 0:
output.write('Processed XML files: ')
output.write('\t' + xml_files + '\n')
if output.tell():
output.write('Processed TXT files: ')
output.write('\t' + xml_files + '\n')
我希望我的文件如下所示,所以我实际上想Processed TXT files
在最后一个xml file
. 现在我有 4 个 XML 文件,但这会不断变化,可能是 3 可能是 7 可能是 12。同样适用于 TXT 文件,TXT 文件的数量也可能发生变化。
Processed XML files:
text0.xml
text1.xml
text2.xml
text3.xml
Processed TXT files:
text0.txt
text1.txt
我当前的输出:
TypeError: can only concatenate list (not "str") to list
解决方案
问题是当你这样做
'/t' + xml_files # str() + list()
这没有任何意义。您需要遍历列表中的元素,并一一添加。
试试这个:
output.write('Processed XML files: \n')
for xml_file in xml_files:
output.write('\t' + xml_file + '\n')
output.write('Processed TXT files: \n')
for txt_file in txt_files:
output.write('\t' + txt_file + '\n')
推荐阅读
- java - 将 if else 语句压缩成更短更优雅的代码
- django - django 序列化器数据提取名词
- c# - XAML 绑定到 cellection
- python - For 循环实现 + RandInt
- mysql - 为数据库中的每个债务人/客户选择 MAX(DATEDIFF())
- android - 尝试从具有动态条件的 Android Room Persistence Library 中获取平均值
- html - 使用自定义 HTML 标签的缺点是什么?
- linux - 无法在 Postgresql-10.0 上恢复数据库备份
- angularjs - 在angularjs中使用sessionStorage输入数据时形成自动保存
- javascript - 字符串解析器