Python2.7使用无意中的新行打印

2024-06-17 17:25:50 发布

您现在位置:Python中文网/ 问答频道 /正文

对Python还是相当陌生的。。你知道吗

我正在遍历一个文本文件:

0x000B000A
0x000B000B
0x000B000C

将每一行附加到一个基本url,下面是代码中我有问题的特定部分:

def ProcessID(id):
  url = baseUrl + "/" + id + "/" + type + "-" + id + "-" + version + "." + extension
  print "Processing: " + url

for line in inputFile:
      ProcessID(line)

问题是,任何以AB结尾的行都会在print命令中添加换行符:

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)有关吗?你知道吗

谢谢你, 睡衣


Tags: 代码comidhttpurlexampledefline
2条回答

你把整条线都插进去了,还有断线。你应该把它从每行中删除。你可以做line.replace("\n", "")

在这样的文件中迭代行时,行仍将包含最后的换行符'\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'))  

相关问题 更多 >