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')