[英]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.