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

时间:2021-02-25 12:46:56

标签: python python-3.x url text python-requests

我这里有这个代码:

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

等等...

我知道我可以在 print(line) 内添加 end="" 但我希望变量等于这些行。例如

Word = line

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

pillow
fire
thumb

4 个答案:

答案 0 :(得分:1)

.text' 响应的

requestsstr,您可以使用 .splitlines 如下遍历行:

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

请注意,.splitlines() 处理不同的 newlines,因此您可以使用它而不必担心确切使用了哪些换行符(使用 .split("\n") 就可以了,只要您确定您使用的是 Linux -style 换行符)

答案 1 :(得分:0)

你不能做 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() 以删除额外的换行符。

答案 2 :(得分:-1)

response 是一个 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)

答案 3 :(得分:-1)

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

import requests

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

Demo

相关问题