[英]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')
並沒有按照您的想法做,而是剝離了所有內容.
, b
, m
和p
字符從字符串的右側開始,而不是丟棄結尾的.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.