从重新构造URL字符串系统标准在Python中

2024-04-26 08:08:13 发布

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

我有一个脚本,它从一个大的日志文件中获取输入。此文件已编码URL。 我使用标准输入从文件中获取这些url。我希望分别处理每个URL。在

在把它的URL分解成一个单独的URL时就成了一个问题。我做''。加入(某物),然后处理后我得到字符。在

例如

for line in sys.stdin:
    line = line.strip()
    line1 = ''.join(line)

我还试着收集URL中的所有字符,然后加入。结果还是一样。在

我得到的样本:

来自文件的输入:“www.cnn.com" 之后输出系统标准和处理:['w','w','w','.','c','n','n','.','c','o','m']

列表出现是因为我做的。否则我会www.cnn.com从标准输入. 但基本结构与产出是一样的。在

我想要的是: 来自文件的输入:“www.cnn.com" 输出:“www.cnn.com“(这应该是一根绳子。不是单个字符的字符串)

谢谢


Tags: 文件in脚本comurl编码for标准
1条回答
网友
1楼 · 发布于 2024-04-26 08:08:13

我想你的stdin输入可能有误。考虑一下这个脚本:

#stdin.py
import sys
for line in sys.stdin:
    print line.strip()

然后管道输入按预期工作:

^{pr2}$

如果对字符串调用list(),它将按字符拆分:

>>> list("test")
['t', 'e', 's', 't']

我猜你可能要做的是读取整个输入,然后按行拆分,如下所示:

import sys
lines = sys.stdin.read().split()
print lines

运行它,我得到:

$ echo -e "www.cnn.com\nwww.test.com" | python stdin.py 
['www.cnn.com', 'www.test.com']

相关问题 更多 >