我是Python新手,通过在线参考文献编写了这个脚本。该脚本基本上连接到网络外部的 sftp 服务器,并列出该服务器中的一个目录来收集 .xml 文件(从旧到最新)并循环中 1 个文件传输。
几分钟后,脚本在达到连接超时或没有要传输的文件时结束会话。休眠 5 秒,然后再次连接以获取下一组文件,就像近实时一样。在我们开始每隔 10 -15 分钟出现“套接字已关闭错误”之前,该脚本可以正常工作几个月。该脚本将按预期正常运行并开始传输文件,然后突然挂起 2-3 分钟,最终出现以下错误。
有时,当脚本连接到 sftp 服务器并开始传输文件时,在几个文件之后,将再次发送相同的错误
错误: 返回 self._send(s, m) 文件“C:\ProgramData\Anaconda3\lib\site-packages\paramiko\channel.py”,第 1198 行,在 _send 中引发 socket.error(“套接字已关闭”)OSError :套接字已关闭
import os
import shutil
import paramiko
from time import sleep
from datetime import datetime
import fnmatch
from lxml import etree
import lxml
localpath=r"D:/Imported_Files/"
logpath=r"D:/Imported_Files/log/"
temppath=r"D:/Imported_Files/file_rename_temp/"
while True:
#########
try: #### providing server credentials and connection to the sftp server with username and private key
host = "Hostname"
port = 22
transport …
Run Code Online (Sandbox Code Playgroud)