python - 尝试写入新行时将“/n”写入文本文件
问题描述
我有一个 for 循环,我试图在其中将一些行写入文本文件。当我到达这一特定行(然后我将其转换为字符串的数组)时。我需要它写入文件并在之后创建一个新行。
它正确地完成了所有这些操作,但是它还在之后以字符串形式添加了“\n”。这是我不想要的。这是我的所有代码:
# this line opens a text file , stores the lines in an array and loads a line I am trying to alter into a variable
propinfo = open("D:\pythonProject\monop\propertyinfo.txt")
propinfolines = propinfo.readlines()
desiredline = (propinfolines[(players[playerturn].squareID) + 1])
# the lines below are an operation to split the line into an array by a comma , and change one part of that array
propkeyinfo = (desiredline.split(','))
propkeyinfo[14] = playerturn
# this line takes the array I just altered and puts in back into the array of lines in the correct position.
propinfolines[(players[playerturn].squareID) + 1] = str(propkeyinfo)
#i then reopen the file and write back each line from that array , when I get to the line I altered I create a new line after
propinfo = open("D:\pythonProject\monop\propertyinfo.txt", "w")
for i in range(41):
if i == (players[playerturn].squareID) + 1:
propinfo.write(propinfolines[i] + "\n")
else:
propinfo.write(propinfolines[i])
propinfo.close()
['7', '4', '东方大道', '100', '50', '50', '6', '30', '90', '270', '400', '550', '326', '738', 1, '\n']
如何在不写“'\n'”的情况下创建这个新行
解决方案
propinfo.readlines()
逐行读取文件,包括结尾的 '\n'。所以,如果你的线看起来像
7,4,Oriental Avenue,100,50,50,6,30,90,270,400,550,326,738,1,
它会像
'7,4,Oriental Avenue,100,50,50,6,30,90,270,400,550,326,738,1,\n'
这反过来将导致您以逗号拆分后报告的列表,其中“\n”作为列表的最后一个元素。
如果将行更改propkeyinfo = (desiredline.split(','))
为
propkeyinfo = (desiredline.rstrip(',\n').split(','))
它去掉了尾随的 ',\n',因此结果列表不会有额外的元素。
但是,如果您需要该行与输入的格式相同(这似乎是您正在写回原始文件时),而不是上面的,替换str(propkeyinfo)
为','.join(propkeyinfo)
以重建逗号分隔的字符串并将其写入直接文件,没有任何额外的'\ n'。
推荐阅读
- android - 如何删除 LinearLayout 阴影?
- hyperledger-fabric - 在 Ubuntu 上安装 Fabric
- java - 在 ArrayList 中访问 ArrayList
- python - Pyqt5 QTableWidget 自定义键盘功能
- python - tensorflow 随机值在单次运行中是否保证相同?
- python - 如何在 SymPy 中使用 plot_implicit 绘制横截面
- fortran - 如何从 Fortran 函数访问全局变量
- android - 用户更新应用程序时如何更新共享偏好数据?
- python - 从句子 NLP 中提取意义的方法
- python - 如何使用 Gitlab CI 单独部署 docker 微服务并允许它们对话?