簡體   English   中英

如何在 Python 中正確定義 class?

[英]How do I define a class properly in Python?

我一直在嘗試編寫一個事件處理程序腳本來將文件從一個文件夾移動到另一個文件夾。 但我每次都遇到同樣的錯誤。

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import os
import json

folder_to_track = 'C:\\Users\\****\\OneDrive\\****\\Python_Projects\\Python_Scripts'
folder_destination = 'C:\\Users\\****\\OneDrive\\****\\prueba'

class MyHandler(FileSystemEventHandler):
    i=1
def on_modified(self, event):
    for filename in os.listdir(folder_to_track):
        src = os.path.join(folder_to_track, filename)
        new_destination = os.path.join(folder_destination, filename)
        os.rename(src, new_destination)

event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, folder_to_track, recursive=True)
observer.start()

try:
    while True:
        time.sleep(10)
except KeyboardInterrupt:
    observer.stop()
observer.join()

錯誤是:

Traceback (most recent call last):
File "C:\Users\****\OneDrive\****\Python_Projects\Python_Scripts\miraperros.py", line 11, in 
<module>
class MyHandler(FileSystemEventHandler):
File "C:\Users\****\OneDrive\****\Python_Projects\Python_Scripts\miraperros.py", line 19, in 
MyHandler
event_handler = MyHandler()
NameError: name 'MyHandler' is not defined
[Finished in 0.1s with exit code 1]

我不知道我做錯了什么,謝謝你的幫助。 這是我關於 Stack Overflow 的第一個問題,所以如果我在詢問方法上做錯了什么,我很想聽聽反饋。

我一直在嘗試編寫一個事件處理程序腳本來將文件從一個文件夾移動到另一個文件夾。 但我每次都遇到同樣的錯誤。

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import os
import json

folder_to_track = 'C:\\Users\\****\\OneDrive\\****\\Python_Projects\\Python_Scripts'
folder_destination = 'C:\\Users\\****\\OneDrive\\****\\prueba'

class MyHandler(FileSystemEventHandler):
    i=1
def on_modified(self, event):
    for filename in os.listdir(folder_to_track):
        src = os.path.join(folder_to_track, filename)
        new_destination = os.path.join(folder_destination, filename)
        os.rename(src, new_destination)

event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, folder_to_track, recursive=True)
observer.start()

try:
    while True:
        time.sleep(10)
except KeyboardInterrupt:
    observer.stop()
observer.join()

錯誤是:

Traceback (most recent call last):
File "C:\Users\****\OneDrive\****\Python_Projects\Python_Scripts\miraperros.py", line 11, in 
<module>
class MyHandler(FileSystemEventHandler):
File "C:\Users\****\OneDrive\****\Python_Projects\Python_Scripts\miraperros.py", line 19, in 
MyHandler
event_handler = MyHandler()
NameError: name 'MyHandler' is not defined
[Finished in 0.1s with exit code 1]

我不知道我做錯了什么,謝謝你的幫助。 這是我關於 Stack Overflow 的第一個問題,所以如果我在詢問方法上做錯了什么,我很想聽聽反饋。

我一直在嘗試編寫一個事件處理程序腳本來將文件從一個文件夾移動到另一個文件夾。 但我每次都遇到同樣的錯誤。

import time
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
import os
import json

folder_to_track = 'C:\\Users\\****\\OneDrive\\****\\Python_Projects\\Python_Scripts'
folder_destination = 'C:\\Users\\****\\OneDrive\\****\\prueba'

class MyHandler(FileSystemEventHandler):
    i=1
def on_modified(self, event):
    for filename in os.listdir(folder_to_track):
        src = os.path.join(folder_to_track, filename)
        new_destination = os.path.join(folder_destination, filename)
        os.rename(src, new_destination)

event_handler = MyHandler()
observer = Observer()
observer.schedule(event_handler, folder_to_track, recursive=True)
observer.start()

try:
    while True:
        time.sleep(10)
except KeyboardInterrupt:
    observer.stop()
observer.join()

錯誤是:

Traceback (most recent call last):
File "C:\Users\****\OneDrive\****\Python_Projects\Python_Scripts\miraperros.py", line 11, in 
<module>
class MyHandler(FileSystemEventHandler):
File "C:\Users\****\OneDrive\****\Python_Projects\Python_Scripts\miraperros.py", line 19, in 
MyHandler
event_handler = MyHandler()
NameError: name 'MyHandler' is not defined
[Finished in 0.1s with exit code 1]

我不知道我做錯了什么,謝謝你的幫助。 這是我關於 Stack Overflow 的第一個問題,所以如果我在詢問方法上做錯了什么,我很想聽聽反饋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM