我有一個Python腳本,它查找文件夾(添加/刪除)中的任何更改。 我正在尋找添加的任何新文件,並希望打開它們並從中讀取一些數據。IOError:[Errno 13]權限被拒絕,打開文件時
的代碼是
# Utility to check for any new jobs
import os
import win32file
import win32event
import win32con
import string
path= r"C:\Users\dZONE\Desktop\py"
change_handle = win32file.FindFirstChangeNotification (path,0,win32con.FILE_NOTIFY_CHANGE_FILE_NAME)
try:
old_path_contents = dict ([(f, None) for f in os.listdir (path)])
while 1:
result = win32event.WaitForSingleObject (change_handle, 500)
if result == win32con.WAIT_OBJECT_0:
new_path_contents = dict ([(f, None) for f in os.listdir (path)])
added = [f for f in new_path_contents if not f in old_path_contents]
#deleted = [f for f in old_path_contents if not f in new_path_contents]
if added: print "Added: ", ", ".join (added)
#if deleted: print "Deleted: ", ", ".join (deleted)
# My open
print "Len" , len(added)
for item in added:
print item
ad=open(item,'r')
print ad.read()
old_path_contents = new_path_contents
win32file.FindNextChangeNotification (change_handle)
finally:
win32file.FindCloseChangeNotification (change_handle)
當我試圖打開它給我的IO錯誤13.雖然我的文件夾和文件上的權利的文件。我編寫了另一個測試代碼,並嘗試直接打開文件名打開(),它確實工作。
如果有人能指出我所做的錯誤會非常感激。
編輯:錯誤消息
Traceback (most recent call last):
File "C:\Users\dZONE\Desktop\py\util.py", line 50, in <module>
ad=open(item,'r')
IOError: [Errno 13] Permission denied: 'ad.sjs_hdr'
PS我是新來的蟒蛇所以也許我做了一些非常愚蠢的錯誤 感謝
是 'ad.sjs_hdr' 文件或文件夾? – 2012-08-12 19:14:39
@RostyslavDzinko這是一個文件 – abhi 2012-08-12 19:15:17