Python FTP 参数无效



Python 3.6.1, Windows 10 x64

我使用此脚本的目标是从FTP站点获取.zip文件,然后将其放入本地目录:

from ftplib import FTP
FTP_SERVER = 'ftp.name.com'
def main():
    ftp_conn = FTP(FTP_SERVER)
    ftp_conn.login('username','password')
    get_binary_file(ftp_conn, 'file.zip', 'C:Temptest.zip')
    ftp_conn.close()
def get_binary_file(ftp_client, file_name, dest=None):
    if not dest:
        dest = file_name
    ftp_cmd = 'RETR {}'.format(file_name)
    with open(dest,'wb') as dest_in:
        ftp_client.retrbinary(
            ftp_cmd,
            dest_in.write
        )

if __name__ == '__main__':
    main()

我不断收到第三个参数(C:\Temp\test.zip(无效的错误:

Traceback (most recent call last):
  File "C:/code/ftp_dl_binary_file1.py", line 32, in <module>
    main()
  File "C:/code/ftp_dl_binary_file1.py", line 13, in main
    get_binary_file(ftp_conn, 'file.zip', 'C:Temptest.zip')
  File "C:/code/ftp_dl_binary_file1.py", line 23, in get_binary_file
    with open(dest,'wb') as dest_in:
OSError: [Errno 22] Invalid argument: 'C:\Temptest.zip'

该参数的无效之处是什么?

test.zip 中的t被解释为制表符控件字符。

相反,您应该执行以下操作:

    get_binary_file(ftp_conn, 'file.zip', 'C:/Temp/test.zip')

或:

    get_binary_file(ftp_conn, 'file.zip', 'C:\Temp\test.zip')

最新更新