【发布时间】:2011-10-01 11:29:09
【问题描述】:
我正在使用 python-fabric 库构建远程服务器管理工具,并且正在寻找一种为远程服务器上的目录检索文件列表的好方法。目前我正在使用 run("ls dir") 并手动拆分返回字符串,这看起来很可怕并且非常依赖于架构。 fabric.contrib.files 似乎没有任何用处..
非常感谢您的建议。
干杯, 回复
【问题讨论】:
-
fabric 维护者的“官方”答案是将fabric 视为shell 命令的传递。因此,当前执行此操作的方法是使用“ls”命令。此外,“ls -l”应该每行输出一个文件,使处理更容易..
-
首先,您询问如何获取远程文件列表 - 通过指定 Fabric,您还指定了 SSH,这隐含地表示 UNIX shell。然后在其他地方评论最佳答案(jathanism)取决于环境是错误的。如果你有一个运行 SSH 的 OS X、Linux 甚至是一个 WINDOWS 机器——那么“ls -l”就可以了。严格来说, ls -l 不是架构的功能(如您所建议的),它甚至不是操作系统的功能。 ls 是 sh 兼容 shell 的内置程序,它存在于包括 Windows 在内的所有平台上。当然可以在任何 SSH shell 上。
标签: python file fabric dir filelist