Heim Backend-Entwicklung Python-Tutorial Python erklärt das OS-Modul und das Shutil-Modul ausführlich

Python erklärt das OS-Modul und das Shutil-Modul ausführlich

Mar 03, 2021 am 11:01 AM
os模块 python

Python erklärt das OS-Modul und das Shutil-Modul ausführlich

Artikelverzeichnis

  • Dateiverarbeitung
    • Systemtyp abrufen
    • Systemumgebung abrufen
    • Systembefehle ausführen
    • Verzeichnisse und Dateien bedienen
  • Anzeige Erweiterte Verarbeitung von Dateien und Verzeichnissen
    • Dateien kopieren module und shutil-Module sind die Hauptmethoden für Python, mit Dateien/Verzeichnissen umzugehen. Das OS-Modul bietet eine bequeme Möglichkeit, betriebssystembezogene Funktionen zu nutzen, und das Shutil-Modul ist ein erweitertes Datei-/Verzeichnis-Betriebstool.
    • Dateiverarbeitung
    • os-Modul bietet einige praktische Funktionen zur Verwendung von Betriebssystemressourcen, z. B. das Lesen von Dateien im Ressourcenverzeichnis und das Anzeigen von Dateien unter einem bestimmten Pfad in der Befehlszeile. Alle Inhalte usw.
  • Ermitteln Sie den Systemtyp

Bei der Entwicklung von Kompatibilitätscode zur Anpassung an verschiedene Betriebssysteme kann dies leicht durch die Beurteilung des Betriebssystemtyps gelöst werden.

Bildbeschreibung hier einfügen

os模块和shutil模块是Python处理文件/目录的主要方式。os模块提供了一种使用操作系统相关功能的便捷方式,shutil模块是一种高级的文件/目录操作工具。

文件的处理

os模块提供了一些便捷功能来使用操作系统资源,比如读取资源目录下的文件、在命令行查看某路径下文件的所有内容等。

获取系统类型


对代码进行兼容性开发以适应不同操作系统时通过操作系统类型进行判断就可以轻松解决。

import osprint(os.environ)print(os.environ['PATH'])print(os.getenv('PATH'))
Nach dem Login kopieren

Python erklärt das OS-Modul und das Shutil-Modul ausführlich

获取系统环境


对环境变量进行相关设置时,常常会调用模块environ模块。os.environ是以字典的形式返回系统环境变量,要获取具体的属性值,可以用索引,也可以用方法getenv()

import os
os.system('ping www.baidu.com')os.popen('ping www.baidu.com').read()
Nach dem Login kopieren

Python erklärt das OS-Modul und das Shutil-Modul ausführlich

执行系统命令


使用os模块system()方法可以执行shell命令,正常执行会返回0。使用格式是os.system("bash command")

在非控制台编写时,system()只会调用系统命令而不会执行,执行结果可通过popen()函数返回fileHolen Sie sich das System Umgebung

Python erklärt das OS-Modul und das Shutil-Modul ausführlich

Beim Setzen von Umgebungsvariablen wird oft das Modul environ aufgerufen. os.environ gibt Systemumgebungsvariablen in Form eines Wörterbuchs zurück. Um bestimmte Attributwerte zu erhalten, können Sie den Index oder die Methode getenv() verwenden:

import shutil
path_1 = r'D:\PycharmProjects\Hello'path_2 = r'D:\PycharmProjects\Hello\shutil-test'new_path = shutil.make_archive(path_2,'zip',path_1)print(new_path)
Nach dem Login kopieren
Nach dem Login kopieren

Systembefehl ausführen

🎜 🎜 Verwenden Sie die Methode system() des Betriebssystems, um Shell-Befehle auszuführen. Bei normaler Ausführung wird 0 zurückgegeben. Das Verwendungsformat ist os.system("bash command"). 🎜🎜Beim Schreiben ohne Konsole ruft system() nur Systembefehle auf, führt sie jedoch nicht aus. Die Ausführungsergebnisse können über popen() an <code>file-Funktion. /code>-Objekt wird gelesen und abgerufen. 🎜<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">import shutilimport os shutil.unpack_archive('D:\PycharmProjects\Hello\shutil-test.zip','D:\testdir')print(os.listdir('D:\testdir'))</pre><div class="contentsignin">Nach dem Login kopieren</div></div>🎜🎜🎜🎜🎜Betreiben von Verzeichnissen und Dateien🎜🎜🎜🎜Eine der häufigsten Funktionen in der Python-Entwicklung ist die Verwendung des Betriebssystemmoduls zum Betreiben von Verzeichnissen und Dateien. 🎜<table><tbody> <tr class="firstRow"> <td>Methode</td> <td>Erklärung</td> <td>Beispiel</td> </tr> <tr> <td>os.getcwd()</td> <td>Den aktuellen Verzeichnispfad abrufen</td> <td><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/ca0594a1c752a5b48b8629b6da5e57ee-3.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" ></td> </tr> <tr> <td>os.chdir('Zielpfad') </td> <td>Ändern Sie die aktuelle Skripttabelle des Inhalts</td> <td> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/ca0594a1c752a5b48b8629b6da5e57ee-4.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" > </td> </tr> <tr> <td>os.listdir(path)</td> <td>Alle Dateien im Verzeichnis auflisten</td> <td><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/2257413c3eaab8458c7e398adb2e5185-5.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" ></td> </tr> <tr> <td>os.mkdir(path)</td> <td>Ein einzelnes Verzeichnis erstellen</td> <td rowspan="4"><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/2257413c3eaab8458c7e398adb2e5185-6.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" ></td> </tr> <tr> <td>os .makedirs (Pfad)</td> <td>Mehrstufige Verzeichnisse erstellen</td> </tr> <tr> <td>os.rmdir(Pfad)</td> <td>Einstufige leere Verzeichnisse entfernen</td> </tr> <tr> <td>os.removedirs(pfad)</td> <td>Mehrstufige Verzeichnisse löschen</td> </tr> <tr> <td>os.rename("Datei- oder Verzeichnisname","Zielname")</td> <td>Ein Verzeichnis oder eine Datei umbenennen</td> <td><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/2257413c3eaab8458c7e398adb2e5185-7.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" ></td> </tr> <tr> <td>os.path.abspath()</td> <td>Den absoluten Pfad abrufen</td> <td><img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/727edec0e2b593619c71184cbdb07269-8.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" ></td> </tr> <tr> <td>os.path.split(path)</td> <td>Zerlegen Sie den Pfad in (Ordner, Dateiname)<br>Wenn das letzte Zeichen der Pfadzeichenfolge ist, dann hat nur der Ordnerteil einen Wert; <br>Wenn es keinen in der Pfadzeichenfolge gibt , nur der Dateinamensteil hat einen Wert; <br>Wenn der Pfad die Zeichenfolge hat und nicht mehr der letzte ist, dann haben die Ordner- und Dateinamen Werte. + os.path.basename(path)</td> <td rowspan="2">Den Dateinamen im Pfad abrufen<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/727edec0e2b593619c71184cbdb07269-9.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" > </td> </tr> <tr>os.path.exists(path)<td></td>Bestimmen Sie, ob die Datei oder der Ordner existiert<td></td> </tr> <tr> <td></td> <td>os.path.isfile ( path)</td> <td rowspan="2">Bestimmen Sie, ob der Pfad eine Datei ist<img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/878969ec0f4864a696866bfa59dc25f3-10.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" > </td> </tr> <tr> <td></td> <td>os.path.isdir(path)</td> </tr>Bestimmen Sie, ob der Pfad ein Verzeichnis ist<tr> <td></td> <td></td> <td> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/563162abbfc09ebe37d23aa454253a43-11.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" >os.path.getsize(path ). oder Zeitpunkt des letzten Zugriffs auf den Ordner</td> </tr> <tr> <td></td> <td></td>os.path.getmtime(path)<td> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/563162abbfc09ebe37d23aa454253a43-12.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" >Erhalten Sie die letzte Änderungszeit einer Datei oder eines Ordners</td> </tr> <tr> <td></td> <td></td>os.sep()<td> <img src="/static/imghw/default1.png" data-src="https://img.php.cn/upload/article/000/000/052/fbf7d5ceb7c9f1feb73a54fbf8c7b2d6-13.png" class="lazy" alt="Python erklärt das OS-Modul und das Shutil-Modul ausführlich" >Pfadtrennzeichen</td> </tr> ?? <tr> <td> <blockquote><p>(<span style="text-decoration:line-through;">插播反爬信息</span> )博主CSDN地址:https://wzlodq.blog.csdn.net/</p></blockquote> <p><strong>文件和目录高级处理</strong></p> <blockquote><p>相比<code>os模块,shutil模块用于文件和目录的高级处理,提供了支持文件赋值、移动、删除、压缩和解压等功能。

复制文件


shutil模块的主要作用是赋值文件,大概有以下七种实现:

  1. shutil.copyfileobj(file1,file2)覆盖复制
    将file1的内容覆盖file2,file1、file2表示打开的文件对象。

  2. shutil.copyfile(file1,file2)覆盖复制
    也是覆盖,但是无须打开文件,直接用文件名进行覆盖(其源码还是调用的copyfileobj)。

  3. shutil.copymode(file1,file2)权限复制
    仅复制文件权限,不更改文件内容、组和用户,无返回对象。

  4. shutil.copystart(file1,file2)状态复制
    复制文件的所有状态信息,包括权限、组、用户和时间等,无返回对象。

  5. shutil.copy(file1,file2)内容和权限复制
    复制文件的内容和权限,相当于先执行了copyfile再执行了copysmode。

  6. shutil.copy2(file1,file2)内容和权限复制
    复制文件的内容及所有状态信息,相当于先执行了copyfile再执行了copystart。

  7. shutil.copytree()递归复制
    递归地复制文件内容及状态信息

移动文件


使用函数shutil.move()函数可以递归地移动文件或重命名,并返回目标,若目标是现有目录则src再当前目录移动;若目标已经存在且不是目录,则可能会被覆盖。
Python erklärt das OS-Modul und das Shutil-Modul ausführlich
Python erklärt das OS-Modul und das Shutil-Modul ausführlich

读取压缩及归档压缩文件


使用函数shutil.make_archive()创建归档文件,并返回归档后的名称。
语法如下:
shutil.make_archive(base_name,format[,root_dir[,base_dir[,verbose[,dry_run[,owner[,group[,logger]]]]]]])

  • base_name为需要创建的文件名,包括路径
  • format表示压缩格式,可选zip、tar或bztar等
  • root_dir为归档的目录
import shutil
path_1 = r'D:\PycharmProjects\Hello'path_2 = r'D:\PycharmProjects\Hello\shutil-test'new_path = shutil.make_archive(path_2,'zip',path_1)print(new_path)
Nach dem Login kopieren
Nach dem Login kopieren

Python erklärt das OS-Modul und das Shutil-Modul ausführlich

解压文件


使用函数shutil.unpack_archive(filename[,extract_dir[,format]])分析拆档。

  • filename是归档的完整路径
  • extract_dir是解压归档的目标目录名称
  • format是解压文件的格式
import shutilimport os
shutil.unpack_archive('D:\PycharmProjects\Hello\shutil-test.zip','D:\\testdir')print(os.listdir('D:\\testdir'))
Nach dem Login kopieren

Python erklärt das OS-Modul und das Shutil-Modul ausführlich

小结


需要注意的是不同的操作系统中,路径分隔符不一样,在文件处理时需要考虑。也可以使用os.sep()来替代文件分隔符,因为操作系统而造成的程序异常。此外处理文件时往往需要注意文件权限,还有注意文件和文件夹的区别,使用递归等。

Python系列博客持续更新中

大量免费学习推荐,敬请访问python教程(视频)

Das obige ist der detaillierte Inhalt vonPython erklärt das OS-Modul und das Shutil-Modul ausführlich. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

PHP und Python: Verschiedene Paradigmen erklärt PHP und Python: Verschiedene Paradigmen erklärt Apr 18, 2025 am 12:26 AM

PHP ist hauptsächlich prozedurale Programmierung, unterstützt aber auch die objektorientierte Programmierung (OOP). Python unterstützt eine Vielzahl von Paradigmen, einschließlich OOP, funktionaler und prozeduraler Programmierung. PHP ist für die Webentwicklung geeignet, und Python eignet sich für eine Vielzahl von Anwendungen wie Datenanalyse und maschinelles Lernen.

Wählen Sie zwischen PHP und Python: Ein Leitfaden Wählen Sie zwischen PHP und Python: Ein Leitfaden Apr 18, 2025 am 12:24 AM

PHP eignet sich für Webentwicklung und schnelles Prototyping, und Python eignet sich für Datenwissenschaft und maschinelles Lernen. 1.PHP wird für die dynamische Webentwicklung verwendet, mit einfacher Syntax und für schnelle Entwicklung geeignet. 2. Python hat eine kurze Syntax, ist für mehrere Felder geeignet und ein starkes Bibliotheksökosystem.

Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Python vs. JavaScript: Die Lernkurve und Benutzerfreundlichkeit Apr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

So führen Sie Programme in der terminalen VSCODE aus So führen Sie Programme in der terminalen VSCODE aus Apr 15, 2025 pm 06:42 PM

Im VS -Code können Sie das Programm im Terminal in den folgenden Schritten ausführen: Erstellen Sie den Code und öffnen Sie das integrierte Terminal, um sicherzustellen, dass das Codeverzeichnis mit dem Terminal Working -Verzeichnis übereinstimmt. Wählen Sie den Befehl aus, den Befehl ausführen, gemäß der Programmiersprache (z. B. Pythons Python your_file_name.py), um zu überprüfen, ob er erfolgreich ausgeführt wird, und Fehler auflösen. Verwenden Sie den Debugger, um die Debugging -Effizienz zu verbessern.

Kann gegen Code in Windows 8 ausgeführt werden Kann gegen Code in Windows 8 ausgeführt werden Apr 15, 2025 pm 07:24 PM

VS -Code kann unter Windows 8 ausgeführt werden, aber die Erfahrung ist möglicherweise nicht großartig. Stellen Sie zunächst sicher, dass das System auf den neuesten Patch aktualisiert wurde, und laden Sie dann das VS -Code -Installationspaket herunter, das der Systemarchitektur entspricht und sie wie aufgefordert installiert. Beachten Sie nach der Installation, dass einige Erweiterungen möglicherweise mit Windows 8 nicht kompatibel sind und nach alternativen Erweiterungen suchen oder neuere Windows -Systeme in einer virtuellen Maschine verwenden müssen. Installieren Sie die erforderlichen Erweiterungen, um zu überprüfen, ob sie ordnungsgemäß funktionieren. Obwohl VS -Code unter Windows 8 möglich ist, wird empfohlen, auf ein neueres Windows -System zu upgraden, um eine bessere Entwicklungserfahrung und Sicherheit zu erzielen.

Kann Visual Studio -Code in Python verwendet werden Kann Visual Studio -Code in Python verwendet werden Apr 15, 2025 pm 08:18 PM

VS -Code kann zum Schreiben von Python verwendet werden und bietet viele Funktionen, die es zu einem idealen Werkzeug für die Entwicklung von Python -Anwendungen machen. Sie ermöglichen es Benutzern: Installation von Python -Erweiterungen, um Funktionen wie Code -Abschluss, Syntax -Hervorhebung und Debugging zu erhalten. Verwenden Sie den Debugger, um Code Schritt für Schritt zu verfolgen, Fehler zu finden und zu beheben. Integrieren Sie Git für die Versionskontrolle. Verwenden Sie Tools für die Codeformatierung, um die Codekonsistenz aufrechtzuerhalten. Verwenden Sie das Lining -Tool, um potenzielle Probleme im Voraus zu erkennen.

PHP und Python: Ein tiefes Eintauchen in ihre Geschichte PHP und Python: Ein tiefes Eintauchen in ihre Geschichte Apr 18, 2025 am 12:25 AM

PHP entstand 1994 und wurde von Rasmuslerdorf entwickelt. Es wurde ursprünglich verwendet, um Website-Besucher zu verfolgen und sich nach und nach zu einer serverseitigen Skriptsprache entwickelt und in der Webentwicklung häufig verwendet. Python wurde Ende der 1980er Jahre von Guidovan Rossum entwickelt und erstmals 1991 veröffentlicht. Es betont die Lesbarkeit und Einfachheit der Code und ist für wissenschaftliche Computer, Datenanalysen und andere Bereiche geeignet.

Ist die VSCODE -Erweiterung bösartig? Ist die VSCODE -Erweiterung bösartig? Apr 15, 2025 pm 07:57 PM

VS -Code -Erweiterungen stellen böswillige Risiken dar, wie das Verstecken von böswilligem Code, das Ausbeutetieren von Schwachstellen und das Masturbieren als legitime Erweiterungen. Zu den Methoden zur Identifizierung böswilliger Erweiterungen gehören: Überprüfung von Verlegern, Lesen von Kommentaren, Überprüfung von Code und Installation mit Vorsicht. Zu den Sicherheitsmaßnahmen gehören auch: Sicherheitsbewusstsein, gute Gewohnheiten, regelmäßige Updates und Antivirensoftware.

See all articles