pythonを使用して、FTPサーバーからファイルをダウンロードするが、ファイルをダウンロードしたら開きません

Gavyaメータ:

私は、FTPサーバからのダウンロードファイルへのpythonを使用していますが、私はファイルをダウンロードすることですが、私は、ファイルを開いたとき、彼らが破損しているように見えるまたは罰金が、文書で作業している曲やJPGのみのようなファイルを開いていない、シート、PDFをエクセルやテキストファイルが正しくダウンロードされていません。

以下の私のコードです:

from ftplib import FTP
ftp = FTP()
ftp.connect(ip_address,port)
ftp.login(userid,password)
direc='directory path'
ftp.cwd(direc)
doc='doc.txt' or xlsx or pdf or jpg etc
download_path='path to download file on desktop'
file=open(download_path+ doc,'wb')
ftp.retrbinary(f"RETR {doc}", file.write)

私は、必要なファイルをダウンロードすることができていますが、それらのほとんどが壊れてneingされています。私は、コードを機能させるためにどのような変更を加える必要があります。

t3hSeb:

現時点ではFTPをテストするが、私が見るものはあなたのファイルの開閉ではないとの問題であることはできません。

オプションA:

file=open(download_path + doc,'wb')  # add '+' to append instead of overwriting
...
...
file.close()

オプションB(コンテキストマネージャ、あなたは最後の仕上げとして、それはファイルを閉じて便利です):

with open(download_path + doc,'wb') as file:
    file.write(*args, **kwargs)

モジュールの使用についてはftplib、以下の記事で優れた応答ftp.retrbinary()ヘルプのpythonによってsteveha

コンテキストマネージャを使用してファイルへの開口部と書き込みに関して、参照文でオープンを使用してファイルを開く方法、および例外(Pythonの3文書)を扱う引用として、SIR-snoopalot

また、チェックftplib、さらに明確化のためのモジュールのドキュメントを。

お役に立てれば。

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=402291&siteId=1