打印变量并在循环中用文件中的一行附加

时间:2015-08-21 03:04:57

标签: python

我已经研究过这个,但我找不到确切的答案。我已经找到了在涉及到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知识并不是很棒。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:1)

你几乎就在那里,当使用for循环时,连接列表中的元素(在你的情况下是变量'line'),而不是再次完整的列表。

代码 -

for line in path:
    print str(host) + str(line)