当前位置: 首页 > 面试题库 >

使用Python使用SSH从服务器读取文件

海雪松
2023-03-14
问题内容

我正在尝试使用来自Python的SSH从服务器读取文件。我正在使用Paramiko进行连接。我可以连接到服务器并运行类似的命令cat filename,然后从服务器获取数据,但是我尝试读取的某些文件的大小约为1 GB或更大。

如何使用Python在服务器上逐行读取文件?

附加信息:通常要做的是运行cat filename命令并将结果存储在变量中并加以解决。但是由于这里的文件很大,我正在寻找一种从服务器逐行读取文件的方法。

编辑:我可以读取一堆数据并将其分成几行,但问题是缓冲区中接收的数据并不总是包含完整的行。例如,如果缓冲区有300行,则最后一行可能仅是服务器上该行的一半,而下一行将在下一次对服务器的调用中获取。我想要完整的台词

编辑2:我可以使用什么命令来打印文件在一定范围内的行。像先打印100行,然后再打印100行,依此类推?这样,缓冲区将始终包含完整的行。


问题答案:

Paramiko的SFTPClient类允许您获取类似文件的对象,以Python方式从远程文件读取数据。

假设您有空缺SSHClient

sftp_client = ssh_client.open_sftp()
remote_file = sftp_client.open('remote_filename')
try:
    for line in remote_file:
        # process line
finally:
    remote_file.close()


 类似资料:
  • 问题内容: 我需要将文件从服务器下载到桌面。(UBUNTU 10.04)我没有Web访问服务器,只是ssh。 如果有帮助,我的操作系统是Mac OS X和iTerm 2作为终端。 问题答案: 在您的终端中,键入: 相应地替换用户名,主机,远程文件名和本地目录。 如果要访问EC2(或其他需要使用私钥进行身份验证的服务),请使用以下选项:

  • 这将返回有效用户的调用状态。例如,如果用户是有效的,并且存在状态,则以纯文本形式返回“Active”。如果没有有效用户,则返回#1005的错误代码 我可以像这样添加自定义转换器工厂(在web上找到) 但我没看到有什么不同。此外,它还可以很好地将JSON伪装成普通文本,并破坏所有现有服务。有没有更好的方法来处理这种情况?我想过为纯文本提供单独的改型实例,虽然有点脏。你还有其他的建议/解决办法吗?

  • 我正在从sftp服务器读取文件,并使用Spring Batch Framework将该文件加载到数据库中。下面是我的代码,但我遇到了一个错误 代码: 错误:

  • 我正在尝试使用S3中的pyspark读取文件,并出现以下错误-- 我的代码很简单,但我可以使用BOTO3连接,但我需要使用pyspark,因为我正在处理的文件很大,还需要在CSV上进行一些聚合- java版本- python- Pypark/火花- 如果需要更多信息,请告诉我。

  • 我需要将文件从远程服务器复制到本地服务器,然后使用JMETER使用SSH SFTP进行尝试。我提供了登录凭据,并在“文件传输”部分中,选择了操作 - PUT源路径 - 远程路径( /ftp / xxx / yyy)目标 - 本地路径。 收到错误为` Java . io . file not found exception:C:\ Apache-jmeter-5 . 1 . 1 \ bin \ FT

  • 问题内容: 我正在连接到远程服务器SSH服务器,并尝试获取特定路径中的文件列表,我能够获取该路径中的文件列表,但是它们的格式不可读,可以有人帮忙吗 这是控制台输出 问题答案: 这些是ANSI转义码,通常由终端客户端解释以漂亮地[彩色]打印输出。 如果服务器配置正确,则只有在使用交互式终端时才能获得这些信息。换句话说,如果您为会话请求了伪终端(如果要使会话自动化,则不应该这样做)。 如果使用了“ s