问题描述
我正在尝试编写一个简单的脚本来监视要保存的 (TDMS) 文件,然后打开该文件以检索值。
看门狗端工作正常,并将 event.src_path 传递给 GET_DATA 函数。当文件试图打开时,我收到一个错误..
“权限错误:[Errno 13] 权限被拒绝:'C:\PythonTargetDirectory\example.tdms'”
如果我使用文件名作为参数,它将打开文件并检索数据。这肯定意味着权限正确才能打开它吗?
有人可以帮忙吗?
import nptdms
import numpy
import watchdog.events
import watchdog.observers
import time
class Handler(watchdog.events.PatternMatchingEventHandler):
def __init__(self):
# Set the patterns for PatternMatchingEventHandler
watchdog.events.PatternMatchingEventHandler.__init__(self,patterns=['*.tdms'],ignore_directories=False,case_sensitive=False)
def on_created(self,event):
print("Event created - % s." % event.src_path)
GET_DATA(event.src_path)
def GET_DATA(filename):
print("DATA FUNC:",filename)
tdms_file = nptdms.TdmsFile.open(filename)
group = tdms_file["Ramp 15"]
# all_groups = tdms_file.groups()
channel = group["TorqueTransducer"]
data = channel[:]
print(group)
print(channel)
print(numpy.max(data))
if __name__ == "__main__":
src_path = r"C:\PythonTargetDirectory"
event_handler = Handler()
observer = watchdog.observers.Observer()
observer.schedule(event_handler,path=src_path,recursive=True)
observer.start()
try:
while True:
time.sleep(60)
except KeyboardInterrupt:
observer.stop()
observer.join()
else:
while True:
time.sleep(60)
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)