我已经研究过这个,但我找不到确切的答案。我已经找到了在涉及到2个列表时附加的答案,但这是不同的,所以这里就是这样。
我正在创建一个非常基本的模糊器,但是我在将目录名称附加到地址末尾时遇到了问题。这是我到目前为止所拥有的。
预期输出如下;
www.website.com/1
www.website.com/2
www.website.com/3
www.website.com/4
等。但我得到了完全不同的东西。这是我测试的第一段代码。
>>> host = "www.website.com/"
>>> path = [line.strip() for line in open("C:/Users/Public/Documents/tester.txt", 'r')]
>>> print str(host) + str(path)
返回以下内容
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
第二次尝试是这样的;
>>> host = "www.website.com/"
>>> path = [line.strip() for line in open("C:/Users/Public/Documents/tester.txt", 'r')]
>>> for line in path:
print str(host) + str(path)
返回了这个;
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
www.website.com/['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']
我可以确切地看到发生了什么以及它为什么会发生,但我无法弄清楚如何达到预期的输出。我还需要过滤掉我没想过的特殊字符' print'会接。当它以列表的形式阅读时,也许有不同的打印规则。
我已经想过愚蠢的复杂方法,例如计算文件中的行,然后使用该计数将其抛入while循环,但我确定我可以使用的东西或某些东西我做错了。我的Python知识并不是很棒。
有人可以帮忙吗?
答案 0 :(得分:1)
你几乎就在那里,当使用for循环时,连接列表中的元素(在你的情况下是变量'line'),而不是再次完整的列表。
代码 -
for line in path:
print str(host) + str(line)