我编写了一个程序来创建几个 sqlite3 数据库临时文件。在开发中,我只是将它们存储在与 src 包相同的文件夹中的文件夹中。我忽略了这样一个事实,即在从 Program Files 编译和运行代码时需要管理员访问权限。(我知道 Program Files 中的临时文件也是不好的做法)
问题是:没有问题。我没有收到IOError: [Errno 13] Permission denied:
任何形式的警告。此外,如果我转到应该有临时文件的文件夹,则没有。
如果我添加一行
print os.path.exists(r'C:\Program Files (x86)\ProgramName\temp\filename.db')
或者
print os.listdir(r'C:\Program Files (x86)\ProgramName\temp')
对于我的程序,它显示文件在那里,但在资源管理器、cmd 或空闲中不存在。但是,它们确实出现在 cygwin 中。
我已经显示了隐藏的文件/文件夹,但它们没有出现。
如果我使用资源管理器复制临时文件夹,则文件不会一起标记。如果我使用 cygwin 复制文件夹,他们会这样做。它们也对资源管理器可见。
有没有其他人经历过这种情况或知道发生了什么?