当脚本具有文件路径时,从目录外部运行python代码

时间:2016-11-10 07:11:43

标签: python python-3.4 cd

所以我有一个python脚本my_script.py,它在文件夹Test内,我在这个文件夹之外。该脚本需要访问存储在文件夹my_data.dat内的文件Test中的某些输入数据。

现在,当我尝试使用简单的Test从文件夹python my_script.py外部运行此脚本时,它会尝试在我运行脚本的文件夹中找到my_data.dat所以失败了。如何在不实际修改my_script.py中的路径的情况下告诉它使用正确的路径?

我不想修改脚本中的路径,因为脚本通常用于各种路径,整个过程将在以后自动完成。

2 个答案:

答案 0 :(得分:1)

您需要使用绝对文件路径而不是相对文件路径。

获取包含python文件的目录的绝对路径:

import os
ROOT_DIR = os.path.dirname(__file__)

你可以获得my_data.dat

的绝对路径
data_file_path = os.path.join(ROOT_DIR, 'my_data.dat')

之后使用data_file_path代替"my_data.dat"

答案 1 :(得分:0)

您可以将路径my_data.dat作为参数传递给脚本,或者(如果数据文件始终与脚本位于同一目录中),您可以使用变量__file__来确定脚本所在的位置,并在该目录中查找数据文件。