我正在尝试使用python从php文件中获取列表并将其保存到文件中:
import urllib.request
page = urllib.request.urlopen('http://crypto-bot.hopto.org/server/list.php')
f = open("test.txt", "w")
f.write(str(page))
f.close()
print(page.read())
屏幕输出(为了便于阅读,分为四行):
ALF\nAMC\nANC\nARG\nBQC\nBTB\nBTE\nBTG\nBUK\nCAP\nCGB\nCLR\nCMC\nCRC\nCSC\nDGC\n
DMD\nELC\nEMD\nFRC\nFRK\nFST\nFTC\nGDC\nGLC\nGLD\nGLX\nHBN\nIXC\nKGC\nLBW\nLKY\n
LTC\nMEC\nMNC\nNBL\nNEC\nNMC\nNRB\nNVC\nPHS\nPPC\nPXC\nPYC\nQRK\nSBC\nSPT\nSRC\n
STR\nTRC\nWDC\nXPM\nYAC\nYBC\nZET\n
文件输出:
<http.client.HTTPResponse object at 0x00000000031DAEF0>
你能告诉我我做错了吗?
答案 0 :(得分:8)
在Python 3中使用urllib.urlretrieve
(urllib.request.urlretrieve
。)
在控制台中:
>>> import urllib
>>> urllib.urlretrieve('http://crypto-bot.hopto.org/server/list.php','test.txt')
('test.txt', <httplib.HTTPMessage instance at 0x101338050>)
这会导致文件test.txt
在当前工作目录中保存内容
ALF
AMC
ANC
ARG
...etc...
答案 1 :(得分:3)
在写入文件之前,您需要从文件对象中读取。你也应该对文件和屏幕都使用相同的对象。
这样做:
import urllib.request
page = urllib.request.urlopen('http://crypto-bot.hopto.org/server/list.php')
f = open("test.txt", "w")
content = page.read()
f.write(content)
f.close()
print(content)
答案 2 :(得分:1)
当您写入文件时,您不会从urlopen
文件中读取内容。