python如何从远程服务器读取文件,例如从11.6.35.33读取一个指定路径下的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python如何从远程服务器读取文件,例如从11.6.35.33读取一个指定路径下的文件相关的知识,希望对你有一定的参考价值。

python 函数open()操作的文件不存在返回的是什么

使用urllib2模块就可以了
import urllib2
data=urllib2.urlopen('具体地址')
参考技术A ftp模块,核心编程里面有。实在搞不定,再问我吧,我给你写个本回答被提问者采纳

在python SSHCLient中将文件从远程服务器完全读取到本地机器?

【中文标题】在python SSHCLient中将文件从远程服务器完全读取到本地机器?【英文标题】:Read file from remote server completely to local machine in python SSHCLient? 【发布时间】:2021-12-18 23:46:55 【问题描述】:

我的问题是文件大小从 1000 行到 10000 行不等,下面的方法不起作用,因为它只复制几行并关闭

client = SSHClient()
        client.load_system_host_keys()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(drasclientip, username=def_users[i], key_filename=pem_file)
        sftp = client.open_sftp()
        time.sleep(10)
        sftp.get(remote_file, file_dst,None)
        time.sleep(20)
        sftp.close()
        client.close()

我只对文件末尾有一些文本的远程服务文件感兴趣。

我在想 2 种方法 - 让文件传输更快更高效 或反向读取远程文件 - 这样我至少可以得到最终结果

我在代码上方添加了延迟,但它确实有效。

【问题讨论】:

你能下载完整的文件吗?使用与 Python 代码在同一台机器上运行的任何 GUI/命令行 SFTP 客户端? @MartinPrikryl 是的,我可以毫无问题地下载,只有当我尝试在 ubuntu aws 实例(jenkins 从机)中运行相同的代码时才会出现此问题 对不起,这是一个相当模棱两可的答案。您可以使用 "ubuntu aws instance" 中的任何 GUI/命令行下载完整的文件吗? 【参考方案1】:

所以这对我有用。

    因为文件太大而无法通过 ssh 客户端从远程服务器读取,我只是在寻找文件完成指示,我只能在 EOF 看到。 我的开始是连接到远程服务器并运行 'tac' linux 命令 - 这会反转文件,然后我访问反转的文件并在文件开头发现 EOF 结果,我能够确认文件的验证

代码:

*SSH 客户端连接远程服务器

ssh.exec("tac" + filename.txt + " >> filereversed.txt" )

*从远程服务器读取文件reversed.txt并验证

【讨论】:

以上是关于python如何从远程服务器读取文件,例如从11.6.35.33读取一个指定路径下的文件的主要内容,如果未能解决你的问题,请参考以下文章

在python SSHCLient中将文件从远程服务器完全读取到本地机器?

创建 perl 脚本以远程连接到另一台服务器并读取文件?

如何从 Python 中的 URL 读取图像数据?

使用python子进程和ssh读取远程文件?

如何从 python 中的嵌套 YAML 文件中读取数据?

用于 ssh 处理的 python 库