【问题标题】:Python ssh find the latest file [duplicate]Python ssh查找最新文件[重复]
【发布时间】:2016-06-17 11:27:24
【问题描述】:

我正在使用 Python 2.7 和库 paramiko。我想在远程机器中找到最新修改的文​​件。这是我的代码:

首先,我导入所需的库,

import paramiko

其次,我设置了ssh客户端和sftp,

s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect("XXX.XXX.XXX.XX",22,username="NAME",password='PW',timeout=4)

sftp = s.open_sftp()

之后,我不知道如何遍历目录/home/image/ 以找出远程机器中最新修改的文​​件。

我只知道如何在本地找到它,例如:

file= max(glob.iglob(os.path.join('/home/image/','*.png')), key=os.path.getmtime).replace("//","/")

我正在寻求帮助,我如何才能找到远程机器中最新修改的文​​件。谢谢。

【问题讨论】:

  • ls -1t | head -1
  • @BurhanKhalid 感谢您的回复。这是一个非常好的命令。但是如何在 Python 中运行这个命令呢?

标签: python ssh sftp paramiko


【解决方案1】:

我终于找到了解决方案。感谢@Burhan Khalid 的提示。

s = paramiko.SSHClient()
s.set_missing_host_key_policy(paramiko.AutoAddPolicy())
s.connect("XXX.XXX.XX",22,username="NAME",password='PW',timeout=4)
sftp = s.open_sftp()

stdin, stdout, stderr = s.exec_command('cd /home/image; ls -1t | head -1') 
for line in stdout.read().splitlines():
    print line

【讨论】:

  • 好吧,这不是 SFTP 解决方案。您正在使用远程外壳并依赖于特定的操作系统,甚至外壳。请注意,您从不使用 sftp 变量。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-20
  • 2023-03-30
相关资源
最近更新 更多