对于我想要读取Google Chrome缓存文件的应用程序。问题在于,Chrome运行时文件已打开并可能通过其进程进行更新。从另一个进程正在使用的文件中读取
所以,当我试图
data_1 = open("C:\Users\user\AppData\Local\Google\Chrome\User Data\Default\Cache\data_1")
它给了我
IOError: [Errno 13] Permission denied: 'C:\\Users\\user\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Cache\\data_1'
。
因为它说权限被拒绝(编辑:我对该文件具有'完全控制'权限)我也尝试过在提升的cmd窗口中。同样的情况。当Chrome没有运行时,它工作正常。我想要类似this (FileShare on .net)。
我认为Chrome将允许共享读取权限,因为我已经看到this应用程序在执行此操作。
编辑:
我想我错了。正如lulyon所说,Chrome似乎锁定了该文件。因为我想它像vb.net:
Dim d As New FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read)
它说:
The process cannot access the file because it is being used by another process.
起初我还以为ChromeCacheView将文件复制到其他位置。所以我用过程监视器进行了更深入的研究。请检查此截图。这是不是说这两个应用程序都共享相同的文件?
我不认为会既是ChromeCacheView之间的理解是第三方应用程序。那么怎么可能呢?
但我不需要写入权限。如果Chrome浏览器也阻止读取访问,那么像ChromeCacheView这样的应用程序如何做? – rahul
@rahul所以我们必须弄清楚“权限被拒绝”是什么意思。稍后回复。 – lulyon
@rahul是因为当前用户没有访问权限设置为包含您的缓存文件,或者缓存文件无法读取到当前用户的文件夹?核实。 – lulyon