Heim >Backend-Entwicklung >Python-Tutorial >So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

WBOY
WBOYnach vorne
2023-04-18 18:10:072032Durchsuche

Wie stellen wir fest, ob die U-Disk eingelegt ist? /Volumes, legen Sie die U-Disk zu diesem Zeitpunkt ein, und Sie können feststellen, dass sie in diesem Verzeichnis gemountet ist. Mit anderen Worten, wir müssen dieses Verzeichnis nur zu einem festgelegten Zeitpunkt scannen Wahrscheinlich wurde eine U-Disk eingelegt.

Mein Design sieht so aus: Verwenden Sie die Funktion time.sleep(3), um das Programm am Laufen zu halten, und überprüfen Sie alle drei Sekunden das Verzeichnis /Volumes/. Wenn es weitere Ordner gibt, kopieren Sie es einfach nach ein anderer Ordner. So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

Wie der Titel zeigt, haben wir wirklich nur 10 Zeilen (eigentlich 11 Zeilen, das Ganze ausmachen:) verwendet, um diesen „Virus“ zu vervollständigen. Wir können feststellen, dass alle Verzeichnisse auf dem USB-Stick eine halbe Minute nach dem Einstecken im Home-Verzeichnis abgelegt werden.

Wie kopiere ich Dateien selektiv?So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

Wir haben gerade ein sehr einfaches Skript geschrieben, um die Machbarkeit dieser Idee zu testen, aber es gibt immer noch Probleme. Der Grund, warum wir alle Dateien auf dem USB-Flash-Laufwerk schnell kopieren konnten, lag darin, dass sich nur zwei oder drei Dateien auf dem USB-Flash-Laufwerk befanden und die Größe 15 MB nicht überschritt. Wenn sich auf dem Ziel-USB-Datenträger viele Filme, Musik und Dateien befinden, die wir nicht benötigen, sollte unser Programm in der Lage sein, diese zu überspringen und nur einige wichtige Dateien wie .docx und .ppt-Dateien auszuwählen oder nur die zuletzt verwendeten Dateien zu kopieren geänderte Dateien oder schließen Sie alle Dateien aus, die größer als 5 MB sind. Können wir das natürlich in Python machen?

Lassen Sie uns ein Beispiel geben.

Ich habe den Testwalk-Ordner in einem bestimmten Verzeichnis erstellt. Es gibt drei Dateien file123.txt und drei Ordner file4.txt und Ordner4 in Ordner1

#🎜 🎜##🎜 🎜#

Jetzt testen wir es

So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Coderoot speichert den aktuellen Speicherort, es werden alle Ordner unter /testwalk/ gespeichert als Stammverzeichnisse verwendet, nach unten durchsuchen Dateien einzeln anzeigen

So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-CodeOkay, wir müssen jetzt den USB-Ordner rekursieren, alle Dateien finden und die Größe überprüfen. Wenn sie kleiner ist als Kopieren Sie es beispielsweise nach Hause, wenn es größer ist, entsorgen Sie es.

shutil module

So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

Nehmen wir nun den Ordner gerade als Beispiel. Wenn wir file1.txt kopieren möchten Ordner2:

So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

Es gibt viele andere Tools in Shutil, auf die ich hier nicht näher eingehen werde.

os.path.getsize() bestimmt die Größe So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

os.path.getsize (Dateiname) gibt einen Wert in Bytes zurück, wenn er zur Überprüfung der Dateigröße verwendet wird, wir Sie müssen eine Funktion manuell schreiben, um sie in eine leicht lesbare Form umzuwandeln.

Hier müssen wir nur die Dateigröße kleiner als 3M auswählen, 3M = 3 * 1024kB = 3 * 1024*1024byteSo schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code#🎜 🎜 #

In Kombination mit Shutil.copy2 können Sie Dateien ausgewählter Größe in unseren Zielordner kopieren

So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-CodeSo geben Sie den Dateityp an

# 🎜🎜#Hier brauchen wir reguläre Ausdrücke, die uns helfen.

Es gibt viele Inhalte zu regulären Ausdrücken, denen in „Python Core Programming“ ein ganzes Kapitel gewidmet ist, sodass wir nicht näher darauf eingehen.

Wie folgt erlauben wir das Kopieren des angegebenen Dateisuffixes und der angegebenen Dateigröße in unsere Zieldatei:

Vergessen Sie nicht, re zu importieren

#🎜 🎜##🎜 🎜#So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

Verwenden Sie komplexere reguläre Ausdrücke, um Dateitypen besser zu spezifizieren

Dateien nach Änderungszeit filtern

So schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code

# 🎜🎜#

Zu diesem Zeitpunkt habe ich eine Datei namens newfile

erstellt

Das obige ist der detaillierte Inhalt vonSo schließen Sie ein USB-Flash-Laufwerk an und beginnen mit der Ausführung von Python-Code. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen