我想确定在调用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