簡體   English   中英

pathlib.Path.mkdir()不會在指定路徑下創建目錄

[英]pathlib.Path.mkdir() won't make directory at specified path

使用以下方法遇到Path.mkdir()時遇到問題:

Path('C:\\Users\\', user, 'Desktop\\py\\', folder, '\\', str(x).rstrip('.bmp')).mkdir()

忽略其路徑,並在C:/下創建目錄,如下所示:

"C:/directory_created_here"

而不是:

"C:/Users/user/Desktop/py/folder/directory__created_here"

您不應在路徑段之間使用\\\\ pathlib處理該部分。 您所做的使Python將'\\\\'段作為路徑的開始,並丟棄了之前的所有內容( C:驅動器設置除外)。

另外, rstrip('.bmp')並沒有按照您的想法做,而是剝離了所有內容. bmp字符從字符串的右側開始,而不是丟棄結尾的.bmp

您的通話應該看起來像

Path('C:\\Users', user, 'Desktop\\py', folder, str(x)).with_suffix('').mkdir()

要么

Path('C:\\Users', user, 'Desktop\\py', folder, x).with_suffix('').mkdir()

如果x已經是一個字符串。

您也可以嘗試類似

import os

user = 'my_name'
folder = 'new_folder'
x = 'test.bmp'

path_parts = [
    'C:',
    'Users',
    user,
    'Desktop',
    'py',
    folder,
    str(x).rstrip('.bmp'),
]

path = os.path.join(*path_parts)
os.makedirs(path)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM