4

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())

画面上の出力 (読みやすいように 4 行に分割):

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>

私が間違っていることを教えてもらえますか?

4

3 に答える 3

15

urllib.urlretrieve( urllib.request.urlretrievePython 3 では)を使用します。

コンソールで:

>>> 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...
于 2013-10-10T02:24:00.573 に答える
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)
于 2013-10-10T02:26:32.853 に答える
0

urlopenファイルに書き込むときに、ファイルのようにコンテンツを読み取っていません。

また、shutil.copyfileobj().

于 2013-10-10T02:23:31.133 に答える