仍然是Python的新手..
我正在遍历文本文件:
0x000B000A
0x000B000B
0x000B000C
并将每一行附加到基本网址,这是我遇到问题的代码的具体部分:
def ProcessID(id):
url = baseUrl + "/" + id + "/" + type + "-" + id + "-" + version + "." + extension
print "Processing: " + url
for line in inputFile:
ProcessID(line)
问题是任何以A
或B
结尾的行都会在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中)?
谢谢, PJ
答案 0 :(得分:3)
当迭代这样的文件中的行时,这些行仍将包含最终的换行符'\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'))
答案 1 :(得分:0)
你正在插入整条线,并将其中断。你应该从每一行中删除它。你可以line.replace("\n", "")