【问题标题】:Access files from another subdirectory [duplicate]从另一个子目录访问文件[重复]
【发布时间】:2018-11-30 08:43:52
【问题描述】:

我正在处理一些嵌套文件夹,我无法从当前工作目录访问某些文件夹。我目前正在 Python 3.6 中处理此问题

这是当前文件目录结构:

../PROJECT
../PROJECT/REVIEWS/RESULTS/excel_file.xlsx
../PROJECT/LDA_MODEL/TOPIC_MODEL/model.py

如果我当前的工作目录是../PROJECT/LDA_MODEL/TOPIC_MODEL,如何在不更改当前工作目录的情况下访问/PROJECT/REVIEWS/RESULTS/excel_file.xlsx

【问题讨论】:

  • 您是否尝试过使用.. 来引用父目录?例如。路径Dir/Child/../指的是目录Dir
  • 你可以这样做filepath = "../PROJECT/REVIEWS/RESULTS/excel_file.xlsx" 注意:文件路径应该来自根目录。

标签: python python-3.x


【解决方案1】:

您可以使用 os.path 轻松做到这一点

如果你当前的工作目录是../PROJECT/LDA_MODEL/TOPIC_MODEL/,那么你可以试试这个:

import os
my_dir = os.path.abspath(os.path.join("..", "..", "REVIEWS", "RESULTS", "excel_file.xlsx"))
  • os.path.abspath 将返回您正在寻找的路径的绝对路径。
  • os.path.join 将创建一个尊重操作系统路径结构的路径(例如,Windows 上的“\”与 Linux 上的“/”)。它通常比自己打字更安全。在这种情况下,在 Windows 上,os.path.join 将返回 "..\\..\\REVIEWS\\RESULTS\\excel_file.xlsx"
  • ".." 表示您上一个目录。

如果您需要使用绝对路径访问文件,请以 "/" 开头 os.path.join

import os
my_dir = os.path.abspath(os.path.join("/", "MY", "PATH", "TO", "MY", "FILE"))

同样,这取决于您的操作系统,但在 Windows 上会返回:"C:\\MY\\PATH\\TO\\MY\\FILE\\"

【讨论】:

    猜你喜欢
    • 2016-12-18
    • 1970-01-01
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    • 1970-01-01
    • 2012-02-15
    相关资源
    最近更新 更多