os.makedirs在windows上不创建文件夹

11dmarpk  于 2023-06-24  发布在  Windows
关注(0)|答案(1)|浏览(212)

我使用python 3.7和下面的命令来创建一个在linux上工作但在windows上不工作的目录:

try:
        #shutil.rmtree('../../dist')
        os.makedirs('../../dist')
    except OSError as e:
        print("fffffffffffffffffffffffffffff")
        print(e)
        if e.errno != errno.EEXIST:
            raise

以下是我在Windows上运行它时得到的错误:

fffffffffffffffffffffffffffff
[WinError 183] Cannot create a file when that file already exists: 
'../../dist'

而且根本没有dist文件夹,我不知道这个错误是什么
你知道吗?

fnvucqvd

fnvucqvd1#

根据OP的要求,评论作为回答:
这里的问题是,您提供了相对于脚本的路径,但相对路径是相对于进程的工作目录解释的,而工作目录通常与脚本位置完全不同。该目录相对于工作目录已经存在,但您正在查看相对于脚本的路径,并且(正确地)在那里什么也找不到。
如果必须相对于脚本创建目录,请将代码更改为:

scriptdir = os.path.dirname(__file__)
# abspath is just to simplify out the path so error messages are plainer
# while os.path.join ensures the path is constructed with OS preferred separators
newdir = os.path.abspath(os.path.join(scriptdir, '..', '..', 'dist'))
os.makedirs(newdir)

相关问题