簡體   English   中英

Python - 如何在 os.replace 中使用相對路徑?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM