Python 在行尾追加分号
我很想知道是否有一种简单的方法可以在每行末尾加上分号。我试过了,但它总是在下一行打印分号 rom_data.txt my_script.py 预期产量 获得的产出Python 在行尾追加分号,python,Python,我很想知道是否有一种简单的方法可以在每行末尾加上分号。我试过了,但它总是在下一行打印分号 rom_data.txt my_script.py 预期产量 获得的产出 有谁能告诉我哪里出了问题所以你的文本文件是由行组成的。如果您要求查看器显示不可打印的字符,它将显示以下内容 0123\n 1\n 253\n 3\n 或者其他一些标记换行符的符号 for line in input_file: # so here "line" is "0123\n" final= line+';'
有谁能告诉我哪里出了问题所以你的文本文件是由行组成的。如果您要求查看器显示不可打印的字符,它将显示以下内容
0123\n
1\n
253\n
3\n
或者其他一些标记换行符的符号
for line in input_file: # so here "line" is "0123\n"
final= line+';' # here you append a semicolon, so it becomes "0123\n;"
print final # print adds another line break, so the output is "0123\n;\n"
一个常见的解决方案是在循环中第一件事就是去除断线:
for line in input_file:
line = line.strip() # here
final= line+';'
print final
@Pavel的解决方案指出了问题所在,但请注意可能存在一些问题 如果初始rom_数据行以某个空白字符开头或结尾,strip函数将删除所有这些字符,这可能与预期不同 例如: rom_data.txt: 可获得以下输出:
0123\n
123\n
456\n
如果要保留空格,应仅删除最后一个字符:
for line in input_file:
print(line[:-1]) # use this way to strip only the '\n' character at last
这可能更准确。问题是第行中存在换行符。您需要使用rstrip剥离换行符。请参阅以下代码:
input_file = open("rom_data.txt", "r")
for line in input_file:
final= line.rstrip('\n') + ';'
print final
看起来您可能正在打印末尾包含换行符的行,并在其上加上分号,因此您得到:{content}\n;。你应该考虑从线条的末尾去掉空白。AHE,欢迎来到非打印字符行结尾的世界,等等。字符串中是否有尾随\r\n?请尝试打印lenline.:字符串中保留一个尾随换行符。
for line in input_file:
line = line.strip() # here
final= line+';'
print final
0123 \n
123 \n
456\n
0123\n
123\n
456\n
for line in input_file:
print(line[:-1]) # use this way to strip only the '\n' character at last
input_file = open("rom_data.txt", "r")
for line in input_file:
final= line.rstrip('\n') + ';'
print final