【问题标题】:Python: How to Access Linux PathsPython:如何访问 Linux 路径
【发布时间】:2011-01-19 18:16:18
【问题描述】:

使用 Python,如何解析/访问具有 Linux 特定功能的文件,例如 "~/.mozilla/firefox/*.default"?这个我试过了,还是不行。

谢谢

【问题讨论】:

  • “解析”到底是什么意思?您指的是哪些 Linux 特定功能?你试过什么没用?

标签: python linux path


【解决方案1】:

记住这一点很重要:

  • 使用波浪号 ~ 根据 Poke 的回答扩展主目录
  • 使用正斜杠/ 是linux / *nix 目录的分隔符
  • 默认情况下,*nix 系统(例如 linux)在 shell 中有一个通配符通配符,例如 echo *.* 将返回与星号点匹配的所有文件(根据 Will McCutcheon 的回答!)

希望这会有所帮助, 最好的祝福, 汤姆。

【讨论】:

    【解决方案2】:

    这个

    import glob, os
    glob.glob(os.path.expanduser('~/.mozilla/firefox/*.default'))
    

    将为您提供当前用户的~/.mozilla/firefox 目录中以“.default”结尾的所有文件的列表,使用os.path.expanduser 扩展路径中的~glob.glob 以匹配*.default 文件模式.

    【讨论】:

    • 谢谢!那很完美。然后我可以使用 $your_code[0] 并在该目录中获取我想要的任何文件。抱歉,我无法为您的答案投票,我没有足够的声誉。
    【解决方案3】:

    http://docs.python.org/library/os.html 如果您想更改目录或提供路径,请提供完整的参考。

    例如,您可以提供相对路径并访问特定文件。

    如果您想执行命令,那么http://docs.python.org/library/commands.html 为 os.popen() 函数提供了很好的包装器

    【讨论】:

      【解决方案4】:

      ~ 由 shell 扩展,而不是真正的路径。因此,您必须手动导航到那里。

      import os
      
      homeDir = os.environ['HOME']
      f = open( homeDir + '/.mozilla/firefox/*.default' )
      # ...
      

      【讨论】:

      • 这不太行。星号是通配符,不是名称的一部分。
      • 谢谢,这对我帮助很大。顺便说一句,此方法也适用于将新文件写入 $HOME 路径。即 import os directoryPath = os.environ['HOME'] file = open(directoryPath + "/newFile.csv", "w")
      猜你喜欢
      • 2017-11-21
      • 2020-06-28
      • 2021-07-21
      • 1970-01-01
      • 1970-01-01
      • 2016-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多