在使用os.rename之前如何判断文件是否可以重命名

时间:2019-06-14 17:26:21

标签: python operating-system file-rename

我想确定在调用os.access(path, os.W_OK)之前是否可以重命名文件。我尝试使用True,但是即使无法重命名文件,它也会返回os.rename(oldName, oldName)。我猜测写访问权限与重命名访问权限不同。

我的程序接受图形文件名称的列表。工程图名称的图纸号以不方便的格式编码。程序从文件名中提取图纸编号和图纸编号,然后在图纸后面附加“ Sheet 1 of 3”,“ Sheet 2 of 3”等。 docs表示最好使用EAFP,但即使无法重命名 one ,我也希望不能重命名工作表组中的任何文件。使用EAFP,我可能会重命名工程图,然后在以后发现其中一个伴随工程图无法重命名。

到目前为止,我唯一想到的解决方案是将所有文件重命名为相同的名称,即badfilenames = ['00_3214.dwg', '01_3214.dwg', '02_3214.dwg', '00_7321.dwg', '02_7321.dwg', '00_8821.dwg', ] generatedfilenames = ['3214 Sheet 1 of 3.dwg', '3214 Sheet 2 of 3.dwg', '3214 Sheet 2 of 3.dwg', '7321 Sheet 1 of 2.dwg', '7321 Sheet 2 of 2.dwg', '8821 Sheet 1 of 1.dwg', ] ,存储哪些文件失败,然后仅将新名称应用于不会引起错误的图形集。那可以用,但这似乎是一个很大的黑客。

有什么建议吗?

service nrpe status

0 个答案:

没有答案