python新建文件夹与路径获取
python 新建文件夹
os.mkdir()
和 os.makedirs()
使用
os.mkdir("log/flylog")
,报错如下:FileNotFoundError: [WinError 3] 系统找不到指定的路径
发现是
mkdir()
函数的问题,换成os.makedirs()
就ok了。原因是因为
os.mkdir()
只能创建一级目录。而os.makedirs()
可以创建多级目录。
获取路径并在相应路径创建文件
1 | tmp |
在tmp目录下运行python testdir/foo.py
__file__
所执行文件相对路径,包含文件名输出:
testdir/foo.py
os.getcwd()
当前工作绝对路径,即程序运行所在目录输出:
/media/Study/tmp
os.path.abspath(__file__)
,所执行文件绝对路径,包含文件名输出:
/media/Study/tmp/testdir/foo.py
os.path.dirname(__file__)
,所执行文件相对路径,不包含文件名输出:
testdir
,如果目录相对跳转层级大于一层 会有./
,../
等前缀,小于一层输出为空在所运行文件所在目录创建文件方法: 即在
tmp/testdir
目录下创建文件1
2
3
4
5
6
7import os
newfilename = "foo.txt" #所要创建的文件名
newdir = os.path.dirname(__file__) #获取相对路径
newpath = os.path.join(newdir,newfilename) #连接相对路径和文件名
with open(newpath) as file: #创建文件
pass运行结果:
1
2
3
4tmp
|--testdir
|-- foo.py
|-- foo.txt