對於我想要讀取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