【发布时间】:2013-01-08 17:15:48
【问题描述】:
好的,所以我目前正在使用 python 脚本一次将多个文件上传到给定的服务器。
我正在运行 python 版本 2.7.3。
def upload(t):
server="server"
user="user"
password="password"
service="service"
ftp=ftplib.FTP(server)
ftp.login(user=user,passwd=password,acct="")
ftp.storbinary("STOR "+t.split('/')[-1], open(t,"rb"))
print "{} has been uploaded to {}".format(t.split("/")[-1],service)
def ftp_upload(t=files):
server="server"
user="user"
password="password"
service="service"
ftp.login(user=user,passwd=password,acct="")
pool=multiprocessing.Pool(processes=4)
pool.map(upload,t)
但是,当发生套接字超时或其他情况时,我收到了错误消息(当我只使用 ftp 控制台命令时不会发生这种情况)。
似乎 subprocess 做了一些不同的事情?我什至不特别关心监控它。事实上,如果我与服务器的连接被弄乱了,我宁愿进程不要终止。任何报道都是肉汁。
错误信息:
File "/usr/bin/jat", line 301, in ftp_upload
pool.map(upload,files_to_upload)
File "/usr/lib/python2.7/multiprocessing/pool.py", line 227, in map
return self.map_async(func, iterable, chunksize).get()
File "/usr/lib/python2.7/multiprocessing/pool.py", line 528, in get
raise self._value
socket.timeout: timed out
【问题讨论】:
-
你使用什么 Python 版本?
-
对不起,不记得放原帖了。 2.7.3
-
请发布准确的错误消息,而不是
or something。谢谢! -
抱歉,有时需要一段时间才会出现。
标签: python