python 如何重载所有py文件
时间: 2024-01-26 22:03:04 浏览: 138
你可以使用 Python 的 watchdog 库来监视文件系统中的文件更改,并在文件更改时执行一些操作,比如重新加载 py 文件。
以下是一个示例代码,可以监视指定目录下的所有 py 文件,并在文件更改时重新加载它们:
```python
import os
import sys
import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class PyFileHandler(FileSystemEventHandler):
def on_modified(self, event):
if event.src_path.endswith('.py'):
print('Reloading:', event.src_path)
try:
module = os.path.splitext(os.path.basename(event.src_path))[0]
if module in sys.modules:
reload(sys.modules[module])
else:
__import__(module)
except Exception as e:
print('Error reloading module:', e)
if __name__ == '__main__':
path = '/path/to/py/files'
event_handler = PyFileHandler()
observer = Observer()
observer.schedule(event_handler, path, recursive=True)
observer.start()
try:
while True:
time.sleep(1)
except KeyboardInterrupt:
observer.stop()
observer.join()
```
你需要将 `path` 变量替换为你要监视的目录的路径。然后运行这个脚本,它将在后台监视 py 文件的更改,并在文件更改时重新加载它们。
阅读全文