我正在嘗試設計一個迭代腳本的函式。此函式的引數是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 中的字串值創建檔案夾,而無需事先指定完整路徑。
uj5u.com熱心網友回復:
路徑使用正斜杠指定:
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')
>>>
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/317691.html
