自动执行修改后的脚本(python go cpp)可扩展

当文件上次的修改时间,与这次不同时,重新执行脚本

github

安装

# 终端执行
pip install seeing

使用

seeing hello.py
seeing hello.go
seeing -s 3 hello.go  # 间隔3秒检查 hello.go 的修改时间

原理

# 当脚本修改时间不同时,调用所用的语言执行脚本。
go run hello.go
g++ hello.cpp && ./a.out

扩展

seeing -c sh hello.sh
seeing -c open hello.html
seeing -c node hello.js
seeing -c scrapy spider.py

代码

def monitor_file_modify_every(seconds, filename, command):
    # 当文件上次的修改时间,与这次不同时,重新执行脚本
    st = os.stat(filename).st_mtime
    while True:
        f = os.stat(filename)
        if st != f.st_mtime:
            st = f.st_mtime
            if filename.endswith('.cpp'):
                cmd = "g++ {} && ./a.out"
            elif filename.endswith('.c'):
                cmd = "gcc {} && ./a.out"
            elif filename.endswith('.py'):
                cmd = "python {}"
            elif filename.endswith('.go'):
                cmd = "go run {}"
            else:
                cmd = command + " {}"
            os.system(cmd.format(filename))
        try:
            time.sleep(seconds)
        except KeyboardInterrupt:
            os._exit(0)

你可能感兴趣的:(python)