Informationen zu Python- und Betriebssystemoperationen

(1) Voraussetzung

Erstellen Sie einen Verzeichnis-Test auf dem Desktop und erstellen Sie test.py und test.txt im Verzeichnis. test.txt wird als "Test abgeschlossen" beschrieben. Erstellen Sie das Verzeichnis text2 im Verzeichnis und erstellen Sie test2.txt. test2.txt beschreibt "Test 2 abgeschlossen".

test
├test.py
├test.txt (beschreiben "Test abgeschlossen")
└test2
 └test2.txt (beschreiben Sie "Test 2 abgeschlossen")

(2)pwd Geben Sie das aktuelle Verzeichnis und pwd wie folgt in das Terminal ein

/Users/*******/desktop/test

(3) os.getcwd () und \ __ file__

Holen Sie sich mit os.getcwd () den absoluten Pfad des aktuellen Verzeichnisses und mit \ __ file__ den relativen Pfad aus dem aktuellen Verzeichnis.

import os

print(os.getcwd())
print(__file__)

Das Ausführungsergebnis ist wie folgt.

/Users/*******/Desktop/test
file_test.py

(5)os.path.abspath() Sie können den relativen Pfad mit \ __ file__ aus dem aktuellen Verzeichnis abrufen, ihn jedoch mit os.path.abspath () in einen absoluten Pfad konvertieren. Das Verzeichnis kann auch mit einem absoluten Pfad abgerufen werden.

import os

print(os.path.abspath(__file__))
print(os.path.dirname(os.path.abspath(__file__)))

Das Ausführungsergebnis ist wie folgt.

/Users/*******/Desktop/test/file_test.py
/Users/*******/Desktop/test

(6)os.path.join os.path.join kann zwei im Argument angegebene Zeichenfolgen in einem Pfad kombinieren. Lesen Sie zuerst test.txt im Verzeichnis test.

with open('test.txt',encoding='utf-8') as f:
    print(f.read())

Dann wird es wie folgt.

Test abgeschlossen

Lesen Sie als nächstes test2.txt im Verzeichnis test2.

with open('test2/test2.txt',encoding='utf-8') as f:
    print(f.read())

Dann wird es wie folgt.

Test 2 abgeschlossen

Verwenden Sie als Nächstes os.path.join, um test2 zu lesen, indem Sie den absoluten Pfad zum aktuellen Verzeichnis und den relativen Pfad zu test2.txt kombinieren.

import os

target = os.path.join(os.path.dirname(os.path.abspath(__file__)),'test2/test2.txt')
with open(target,encoding='utf-8') as f:
    print(f.read())

Dann wird es wie folgt.

Test 2 abgeschlossen

(7)chdir chdir Wird als [Zielpfad] verwendet. Wird verwendet, um das aktuelle Verzeichnis auf dem Terminal zu verschieben. Erstellen Sie zunächst einen Zielpfad.

import os
target2 = os.path.join(os.path.dirname(os.path.abspath(__file__)),'test2')

Verschieben Sie das aktuelle Verzeichnis über den festgelegten Zielpfad.

os.chdir(target2)

Überprüfen Sie für alle Fälle das aktuelle Verzeichnis und ob es verschoben wurde.

print(os.getcwd())

Durch den Test konnte ich bestätigen, dass das aktuelle Verzeichnis nach test2 verschoben werden konnte.

/Users/*********/Desktop/test/test2

Wenn ich test2.txt direkt lese (

with open('test2.txt',encoding='utf-8')as f:
    print(f.read())

Es wird wie folgt richtig ausgegeben. (Wenn das aktuelle Verzeichnis test ist, wird open ('test2.txt', encoding = 'utf-8') durch open ('test2.test2.txt', encoding = 'utf-8') ersetzt.) Es besteht die Notwendigkeit.)

Test 2 abgeschlossen

(8) Zusammenfassung

.py:test.py


import os

print(os.getcwd())
print(__file__)
print(os.path.abspath(__file__))
print(os.path.dirname(os.path.abspath(__file__)))

print('------------------------------------')

with open('test.txt',encoding='utf-8') as f:
    print(f.read())
with open('test2/test2.txt',encoding='utf-8') as f:
    print(f.read())
target = os.path.join(os.path.dirname(os.path.abspath(__file__)),'test2/test2.txt')
with open(target,encoding='utf-8') as f:
    print(f.read())

print('------------------------------------')

target2 = os.path.join(os.path.dirname(os.path.abspath(__file__)),'test2')
os.chdir(target2)
print(os.getcwd())
with open('test2.txt',encoding='utf-8')as f:
    print(f.read())

Referenzierte Site

Abrufen des Speicherorts (Pfads) der Datei, die in Python file ausgeführt wird

Recommended Posts

Informationen zu Python- und Betriebssystemoperationen
Informationen zu Python-Objekten und -Klassen
Informationen zu Python-Variablen und -Objekten
Über Python, len () und randint ()
Informationen zu Python-Datums- und Zeitzone
Über Python und reguläre Ausdrücke
Python # Über Referenz und Kopie
Über Python sort () und reverse ()
Über _ und __
Informationen zur Installation der Serien Pwntools und Python2
Über Python-Diktat und sortierte Funktionen
Über Python und Cython dtype
Über Python Pickle (cPickle) und Marschall
[Python] Über Executor und zukünftige Klassen
Über Python, aus und importieren, als
Python-Betriebssystemdateien, Unterverzeichnisoperationen
Über Python-Slices
Über die Einschlussnotation von Python
Über Python tqdm.
Über die Python-Ausbeute
Über Python, Klasse
Informationen zur Python-Vererbung
Python-Betriebssystembetrieb
Über Python, range ()
Über Python Decorator
Eine Geschichte über Python Pop und Append
Informationen zur Python-Referenz
Über Python-Dekorateure
[Python] Über Multi-Prozess
Apropos alte und neue Klassen in Python
Mein Betriebssystem (Python)
Apropos Python-Klassenattribute und Metaklassen
Denken Sie an Suchvorgänge mit Tiefenpriorität und Breitenpriorität in Python
Über den Unterschied zwischen "==" und "is" in Python
Eine Geschichte über das Ändern von Python und das Hinzufügen von Funktionen
[Python] Erfahren Sie mehr über asynchrone Programmierung und Ereignisschleifen
Über flache und tiefe Kopien von Python / Ruby
Über Python für Schleife
Dateioperationen in Python
Über Funktionsargumente (Python)
OS- und Linux-Distribution
Python- und Numpy-Tipps
[Python] Datei- / Verzeichnisoperation
[Python] Pip und Wheel
Python Iterator und Generator
Python-Pakete und -Module
Vue-Cli- und Python-Integration
[Python] Memo über Funktionen
Ruby, Python und Map
Zusammenfassung über Python3 + OpenCV3
Dateimanipulation mit Python
Python und Ruby teilen sich
Informationen zur Python-Entwicklungsumgebung
Python: Über Funktionsargumente
Python, über die Ausnahmebehandlung
Über Python Pyramid Traversal
Über Python3 ... (Ellipsenobjekt)