从网站url逐行读取和打印文本文件



这里有这样的代码:

url = requests.get("https://raw.githubusercontent.com/deppokol/testrepo/main/testfile.txt")
File = url.text
for line in File:
print(line)

输出如下所示:

p
i
l
l
o
w

等等…

相反,我希望它看起来像这样:

pillow
fire
thumb

等等…

我知道我可以加上end="在print(line)里面但是我想要一个变量等于这些行。例如
Word = line

,当你打印Word时,它应该是这样的:

pillow
fire
thumb

requests的响应的.textstr,您可以使用.splitlines迭代以下行:

import requests
url = requests.get("https://raw.githubusercontent.com/deppokol/testrepo/main/testfile.txt")
for line in url.text.splitlines():
print(line)

请注意,.splitlines()处理不同的换行符,因此您可以使用它而不必担心到底使用了什么换行符(使用.split("n")是可以的,只要您确定您使用的是linux风格的换行符)

你不能做for line in url.text,因为url.text不是IO(File)。相反,您可以直接打印它(因为n或换行符将自动作为换行符打印),或者如果您确实需要在新行上进行分割,则执行for line in url.text.split('n')

import requests
url = requests.get("https://raw.githubusercontent.com/deppokol/testrepo/main/testfile.txt")
for line in url.text.split('n'):
print(line)

编辑:你可能还想做.strip()以及删除额外的换行符。

响应是str对象,您需要首先将split()作为:

import requests
url = requests.get("https://raw.githubusercontent.com/deppokol/testrepo/main/testfile.txt")
file = url.text.split()
for line in file:
print(line)

您也可以使用split("n"):

import requests
for l in requests.get("https://raw.githubusercontent.com/deppokol/testrepo/main/testfile.txt").text.split("n"):
print(l)
演示

最新更新