首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想使用Watchdog的输出作为文件名,然后打开该文件

我想使用Watchdog的输出作为文件名,然后打开该文件
EN

Stack Overflow用户
提问于 2021-06-17 00:38:12
回答 2查看 21关注 0票数 0

我正在尝试编写一个简单的脚本,该脚本监视要保存的(TDMS)文件,然后打开该文件以检索一个值。

看门狗工作正常,并将event.src_path传递给GET_DATA函数。当文件试图打开时,我得到一个错误..

"PermissionError:错误13权限被拒绝:'C:\PythonTargetDirectory\example.tdms'“

如果我使用文件名作为参数,它将打开文件并检索数据。这当然意味着权限是正确的,可以打开它吗?

有人能帮帮忙吗?

代码语言:javascript
运行
复制
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)
EN

Stack Overflow用户

发布于 2021-06-17 20:24:52

我已经回答过这个问题了!

在调用GET_DATA函数之前,请暂停以正确保存文件,5秒效果很好。简单示例

代码语言:javascript
运行
复制
def on_created(self, event):
    print("Event created - % s." % event.src_path)
    time.sleep(5)
    GET_DATA(event.src_path)
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68006819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档