Python,在与脚本相同的目录中创建新的文件/文件夹

Python,在与脚本相同的目录中创建新的文件/文件夹,python,Python,我编写了一个脚本,它基本上在第一次运行时创建两个新文件夹,如果文件夹不存在的话 import os try: os.makedirs('results/graphs') except OSError: pass 每次运行脚本时,都会在results/graphs文件夹中生成图形 但我最近注意到,如果脚本是从另一个目录运行的(例如,脚本位于home/user/script/中,但我是从以下目录运行的:home/user/programs/),则会在home/user/prog

我编写了一个脚本,它基本上在第一次运行时创建两个新文件夹,如果文件夹不存在的话

import os

try:
    os.makedirs('results/graphs')

except OSError:
    pass
每次运行脚本时,都会在
results/graphs
文件夹中生成图形

但我最近注意到,如果脚本是从另一个目录运行的(例如,脚本位于
home/user/script/
中,但我是从以下目录运行的:
home/user/programs/
),则会在
home/user/programs/
中创建新文件夹

我的目标是最终只在脚本文件夹中创建文件夹,所有最终生成的图形都将被指定到
home/user/script/results/graphs

有没有办法用python实现这一点


我正在使用Debian8和Python2.7.13。图形是使用matplotlib生成的。

在脚本中,结果/图形指运行脚本的任何文件夹中的结果文件夹。如果总是希望在
/home/user/script/results/graphs
中创建文件夹,请在脚本中使用
~/script/results/graphs
。或者,您可以对整个路径进行硬编码,
/home/user/script/results/graphs

除了前面提到的硬编码之外,还有另一种方法。您可以使用\uuuuuuuuuuuuuuuuu提取脚本所在文件的路径。然后您可以使用它作为父路径附加到结果/图形

这是我的解决方案,请检查它(我在windows上尝试过):


您所要做的就是定义脚本所在的路径。这可以在代码中完成,如下所示:

path = 'home/user/script/'
或者通过使用文件对话框从用户处获取输入

然后可以使用path变量创建目录

os.makedirs(path + 'results/graphs')

看一看这个问题:您是否尝试
sys.path[0]
获取脚本的位置?
path = 'home/user/script/'
os.makedirs(path + 'results/graphs')