如何防止其他进程的文件夹中的随意更改? 我是这样做的:
import os
username=os.environ.get("USERNAME")
os.system(r"echo y| cacls MyFolder /T /P %s:R > NUL"%username) # read only
os.system(r"echo y| cacls MyFolder /T /P %s:F > NUL"%username) # full access
这有什么缺点? 什么是最好的方法?
答案 0 :(得分:1)
在一般情况下,你不能这样做。文件系统最好被视为没有同步的多线程对象。 (http://blogs.msdn.com/b/jaredpar/archive/2009/12/10/the-file-system-is-unpredictable.aspx?Redirected=true)
您的上述方法修改了权限,使得与您的进程相同的用户只能读取(或读/写)该文件;它也以同样的方式阻止你自己的过程。
当然注意,如果您授予读访问权限,则用户可以将文件复制到其他位置并在那里进行修改。