当文件上次的修改时间,与这次不同时,重新执行脚本
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)