簡體   English   中英

如何從網站導入外部文本文件並使用其中的列表

[英]How do I import an external text file from a website and use a list from inside it

我在嘗試完成這項工作時遇到問題

import requests
import random
response = requests.get("https://cdn.discordapp.com/attachments/480168592164257792/557872162661335040/aaaaa.txt")
data = response.text
for line in data:
    print(line)

我試圖從互聯網上提取一個 txt 文件,並且能夠使用文本文件中的列表。

現在它所做的只是假設每個字母都是不同的字符串(?)

response.text 似乎是字符,如果你遍歷它們,你會得到每個字符串。 (閱讀有關 Python 如何處理字符串的信息)。 在這種情況下,Python 不知道“線”是什么。 所以用換行符拆分數據並重試:

import requests
import random
  response = requests.get("https://cdn.discordapp.com/attachments/480168592164257792/557872162661335040/aaaaa.txt")
data = response.text
for line in data.split("\n"):
  print(line)

屬性response.text是一個字符串,所以迭代它會給你單獨的字符。 您可以按空格(或換行符)拆分字符串以獲得所需的內容(我還添加了一些打印語句來顯示步驟):

import requests
response = requests.get(
    "https://cdn.discordapp.com/attachments/480168592164257792/557872162661335040/aaaaa.txt")
print('response.text type:', type(response.text))
print('response.text len:', len(response.text))
print(response.text)

print()
print('splitting by spaces:')
for i, s in enumerate(response.text.split()):
    print(i, s)

print()
print('splitting by newlines:')
for i, line in enumerate(response.text.split('\n')):
    print(i, line)

代碼給出了這個輸出:

response.text type: <class 'str'>
response.text len: 21
a = ["please","work"]

splitting by spaces:
0 a
1 =
2 ["please","work"]

splitting by newlines:
0 a = ["please","work"]

@bruno 在評論中建議使用str.splitlines() 即使響應是字節,這也會起作用,因為還存在方法bytes.splitlines()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM