我有以下代码将文件传输到另一台Linux机器:
import ftplib
session = ftplib.FTP('192.168.1.111','ubuntu','ubuntu')
file = open('/home/nehal/darknet/yolo.weights','rb') # file to send
print(session.pwd())
print(ftplib.FTP.dir(session))
session.storbinary('STOR /home/ubuntu/yolo.weights',file) #send the file
file.close()
session.quit()
文件yolo.weights
为209MB,只传输了几个MB。
我也试过传输一个30MB的文件,但只有几MB被转移,之后似乎没有传输数据。
可能是什么问题?
答案 0 :(得分:1)
使用STOR
时,您应该只传递文件名而不传递路径。因此,为确保文件最终位于正确的位置,请使用.cwd()
首先指定目标目录:
import ftplib
session = ftplib.FTP('192.168.1.111','ubuntu','ubuntu')
file = open('/home/nehal/darknet/yolo.weights','rb') # file to send
print(session.pwd())
print(ftplib.FTP.dir(session))
session.cwd('/home/ubunto')
session.storbinary('STOR yolo.weights',file) #send the file
file.close()
session.quit()
或者你可以尝试如下:
import ftplib
session = ftplib.FTP('192.168.1.111', 'ubuntu', 'ubuntu')
file = open('/home/nehal/darknet/yolo.weights', 'rb')
with session, file:
print(session.pwd())
print(ftplib.FTP.dir(session))
session.cwd('/home/ubunto')
session.storbinary('STOR yolo.weights', file)