Python: 关于ftp上传文件,文件内容为空的问题

        前几天用python写了个ftp上传文件,自己写文件,再上传至ftp指定目录,结果上传文件总是为空,一直以为是上传步骤错了,最后发现是写文件错了。。

  ftp上传文件用的是:

fp = open(filename, 'rb')
ftp.storbinary('STOR %s' % os.path.basename(filename), fp, 1024)

  而写文件用的是  :

fl = open('tmp/%s' % filename, 'w')

   写入的时候用的 一般写入, 而读文件的使用用的  二进制读,导致上传至ftp的文件内容为空,具体原理还是不知道为啥。。。

代码:


    fl = open(filename, 'wb')
    fl.write(content)
    fl.close()

    ftp = FTP()
    ftp.set_pasv(pasv)
    ftp.connect(ip, int(port))
    ftp.login(user, passwd)
    fp = open(filename, 'rb')
    ftp.storbinary('STOR %s' % os.path.basename(filename), fp, 1024)
    fp.close()
    ftp.close()

详情参考:http://www.runoob.com/python/python-func-open.html

你可能感兴趣的:(Python: 关于ftp上传文件,文件内容为空的问题)