使用带有 pathlib 的字符串值定义路径
Define path using string value with pathlib
我正在尝试设计一个迭代脚本的函数。该函数的参数是 first_name
和 second_name
。除其他事项外,此循环应按如下方式创建文件夹和子文件夹:
def script(first_name='', second_name=''):
(...)
first_name='first_name'
second_name='second_name'
project_path = pathlib.Path.home()/'Desktop/Project_folder'
name_path = pathlib.Path.home()/'Desktop/Project_folder/'+first_name+second_name
subfolder = pathlib.Path.home()/'Desktop/Project_folder/'+first_name+second_name+'/subfolder'
(...)
但是,当我尝试 运行 脚本时,在创建文件夹时出现以下错误:
script(first_name, second_name)
(...)
>>> TypeError: unsupported operand type(s) for +: 'WindowsPath' and 'str'
由于我对 pathlib
模块不是很熟悉,所以我想知道是否有办法解决这个问题并使用 pathlib 中的字符串值创建文件夹,而无需提前指定完整路径。
路径是使用正斜杠指定的:
pathlib.Path.home()/'Desktop/Project_folder' / first_name / second_name / 'subfolder'
示例:
>>> import pathlib
>>> first_name, second_name = "Force", "Bru"
>>> pathlib.Path.home()/'Desktop/Project_folder' / first_name / second_name / 'subfolder'
PosixPath('/.../Desktop/Project_folder/Force/Bru/subfolder')
>>>
我正在尝试设计一个迭代脚本的函数。该函数的参数是 first_name
和 second_name
。除其他事项外,此循环应按如下方式创建文件夹和子文件夹:
def script(first_name='', second_name=''):
(...)
first_name='first_name'
second_name='second_name'
project_path = pathlib.Path.home()/'Desktop/Project_folder'
name_path = pathlib.Path.home()/'Desktop/Project_folder/'+first_name+second_name
subfolder = pathlib.Path.home()/'Desktop/Project_folder/'+first_name+second_name+'/subfolder'
(...)
但是,当我尝试 运行 脚本时,在创建文件夹时出现以下错误:
script(first_name, second_name)
(...)
>>> TypeError: unsupported operand type(s) for +: 'WindowsPath' and 'str'
由于我对 pathlib
模块不是很熟悉,所以我想知道是否有办法解决这个问题并使用 pathlib 中的字符串值创建文件夹,而无需提前指定完整路径。
路径是使用正斜杠指定的:
pathlib.Path.home()/'Desktop/Project_folder' / first_name / second_name / 'subfolder'
示例:
>>> import pathlib
>>> first_name, second_name = "Force", "Bru"
>>> pathlib.Path.home()/'Desktop/Project_folder' / first_name / second_name / 'subfolder'
PosixPath('/.../Desktop/Project_folder/Force/Bru/subfolder')
>>>