使用以下命令在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"
答案 0 :(得分:0)
您不应在路径段之间使用\\
。 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
已经是一个字符串。
答案 1 :(得分:0)
您也可以尝试类似的方法
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)