【问题标题】:Python os.walk on a different computer on the same networkPython os.walk 在同一网络上的另一台计算机上
【发布时间】:2012-08-29 21:44:15
【问题描述】:

我想在 Windows 7 中的 python 2.7 中但在同一网络上的计算机上执行 os.walk。 os.walk('\192.168.0.2') 之类的东西,但这不起作用。这可能吗?

【问题讨论】:

  • 另一台计算机必须以某种方式共享其文件系统。在 windows 7 中有一个共享目录的选项,但我已经几个月没有使用 windows。
  • 我启用了文件共享,但 os.walk 无法使用它
  • @user1580428:我认为你需要更多的反斜杠。还要记住,反斜杠需要转义为 `\`。

标签: python operating-system


【解决方案1】:

尝试net use 或UNC 路径。

或者试试 Linux,你可能会比 Windows 更好。

http://pcsupport.about.com/od/commandlinereference/p/net-use-command.htm

http://www.uwplatt.edu/oit/terms/uncpath.html

在 python 中,使用 Windows 路径通常更容易,例如,
r'\\hostname\share' 而不是'\\\\hostname\\share'。

【讨论】:

  • 是的,您可以通过在其他工具/软件提供的文件路径上遍历本地文件系统来使远程文件系统看起来是本地的。
【解决方案2】:

我的想法也是选择 Linux,或者至少是带有 SSH 服务的 Windows。

  1. Set up public key authentication over SSH,并确保您可以在没有密码和密码短语的情况下通过 ssh 连接到该 Windows 机器(当然,开启 SSH 服务)。
  2. 利用Fabric,这是一个 Python(2.5 或更高版本)库和命令行工具,可简化 SSH 在应用程序部署或系统管理任务中的使用。

【讨论】:

    【解决方案3】:

    对于 Windows,我所做的是打开文件资源管理器,然后导航到网络驱动器上感兴趣的(子)文件夹,然后右键单击属性。复制位置信息,并将其粘贴到您的 Python 文件中。

    例如

    for root, dirs, files in os.walk("//<network name>/<folder>/<sub-folder1>/<sub-folder2>/.../<sub-folderN>"):
        for file in files:
            print(file)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-09-22
      • 2018-06-15
      • 2015-01-19
      • 2021-12-02
      • 2016-09-19
      • 2019-12-10
      • 2020-07-06
      • 1970-01-01
      相关资源
      最近更新 更多