避免硬编码获取Python文件路径

时间:2019-04-30 16:47:07

标签: python operating-system

我正在处理具有不同位置的文件。我想避免在每一步进行硬编码。我的文件涉及,输入文件(由输入组成),python脚本和输出文件。现在,我想与提到的每个文件夹进行交互,而无需对脚本进行硬编码。 python是否有任何模块可用于修整到根目录的路径并访问后续文件夹。

当前,我正在使用os.getcwd()来访问脚本的路径。我想使用此代码的输出来访问不同文件夹中的其他文件

<html>
<head>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
  <script src="code.js"></script>
  <link rel="stylesheet" type="text/css" href="styles.css" />

</head>

<body>
  <div id="app">
    <test></test>
  </div>
</body>
</html>
代码中的

root_dirpath给了我python脚本的路径。我想将此路径修剪到用户文件夹,然后从另一个文件夹访问文件。是否有任何模块可以执行这些操作而无需进行硬编码。

1 个答案:

答案 0 :(得分:0)

有current-working-directory, 然后是程序所在的目录。 它们是不同的概念,可能相同或不同。

此表达式非常有用:

for(int i = 1; i < =number; i ++). {
           System.out.println("*".repeat(i));
      }

或更简单地说,如果您的os.path.dirname(os.path.realpath(__file__)) 仅使用__file__的目录名 缺少像$PYTHONPATH

这样的麻烦条目

某些项目的目录“ top”为一个或多个级别 从您的python源的位置开始。 您可能会发现将..附加到'../../..'很有用, 或使用__file__完成同一件事。

这里是查找您喜欢的文件的一种可能性:

os.path.join()

注意事项:有时库代码直接从.zip文件运行 或其他异常环境。 在这种情况下,您可能会发现from pathlib import Path top = Path(__file__ + '../..').resolve() arrow = top / 'assets/arrow.png' print('source image:', arrow) print('destination image:', top / 'output' / os.path.basename(arrow)) 不太有用。