Python 2.7 打印无意换行
Python 2.7 print with unintentional new lines
对Python来说还很陌生..
我正在遍历一个文本文件:
0x000B000A
0x000B000B
0x000B000C
并将每一行附加到基数 url,这是我遇到问题的代码的特定部分:
def ProcessID(id):
url = baseUrl + "/" + id + "/" + type + "-" + id + "-" + version + "." + extension
print "Processing: " + url
for line in inputFile:
ProcessID(line)
问题是任何以 A
或 B
结尾的行都会在打印命令中添加一个换行符:
Processing: http://example.com/0x000B000A
/LST3-0x000B000A
-000000.ext
Processing: http://example.com/0x000B000B
/LST3-0x000B000B
-000000.ext
Processing: http://example.com/0x000B000C/LST3-0x000B000C-000000.ext
我在这里做错了什么?这与 Python 解释字符串的方式有关(即在 Unicode 0A、0B 中)吗?
谢谢,
PJ
像这样遍历文件中的行时,这些行仍将包含最后的换行符 '\n'
(如果最后一行之后没有空行,则最后一行除外)。最简单的方法就是将它们剥离:
for line in inputFile:
ProcessID(line.strip())
# OR: if you want to be more explicit and keep all other white space
ProcessID(line.rstrip('\n'))
您正在插入整行,其中包含换行符。您应该从每一行中删除它。你可以做 line.replace("\n", "")
对Python来说还很陌生..
我正在遍历一个文本文件:
0x000B000A
0x000B000B
0x000B000C
并将每一行附加到基数 url,这是我遇到问题的代码的特定部分:
def ProcessID(id):
url = baseUrl + "/" + id + "/" + type + "-" + id + "-" + version + "." + extension
print "Processing: " + url
for line in inputFile:
ProcessID(line)
问题是任何以 A
或 B
结尾的行都会在打印命令中添加一个换行符:
Processing: http://example.com/0x000B000A
/LST3-0x000B000A
-000000.ext
Processing: http://example.com/0x000B000B
/LST3-0x000B000B
-000000.ext
Processing: http://example.com/0x000B000C/LST3-0x000B000C-000000.ext
我在这里做错了什么?这与 Python 解释字符串的方式有关(即在 Unicode 0A、0B 中)吗?
谢谢, PJ
像这样遍历文件中的行时,这些行仍将包含最后的换行符 '\n'
(如果最后一行之后没有空行,则最后一行除外)。最简单的方法就是将它们剥离:
for line in inputFile:
ProcessID(line.strip())
# OR: if you want to be more explicit and keep all other white space
ProcessID(line.rstrip('\n'))
您正在插入整行,其中包含换行符。您应该从每一行中删除它。你可以做 line.replace("\n", "")