[英]Python - How to use relative paths with os.replace?
我正在使用os.replace
函數來重命名文件夾。 該文件夾將保留在同一父目錄中。
parent_dir = '/Users/my_Username/Desktop/'
old_name = 'foo'
new_name = 'bar'
os.replace(parent_dir + old_name, parent_dir + new_name)
這段代碼有效,但感覺有點多余,尤其是在使用長變量名和多次調用此函數時。
根據文檔,
此函數可以支持指定 src_dir_fd 和/或 dst_dir_fd 以提供相對於目錄描述符的路徑。
但是,我無法弄清楚如何傳入兩個文件夾的相對路徑。 我以為會是這樣的:
os.rename(old_name, new_name, src_dir_fd=parent_dir)
但這不起作用。
如何傳入相對路徑?
你可以這樣寫:
import os
parent_dir = '/Users/my_Username/Desktop/'
old_name = 'foo.txt'
new_name = 'bar.txt'
with os.open(parent_dir, os.O_RDONLY) as fd:
os.replace(old_name, new_name, src_dir_fd=fd)
選項src_dir_fd
接受文件描述符(fd),而不是實際路徑。 文檔中有很好的描述。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.