À propos des opérations Python et OS

(1) Prémisse

Créez un test de répertoire sur le bureau et créez test.py et test.txt dans le répertoire. test.txt est décrit comme "test terminé". Créez le répertoire text2 dans le répertoire et créez test2.txt. test2.txt décrit "Test 2 terminé".

test
├test.py
├test.txt (décrivez "test terminé")
└test2
 └test2.txt (décrivez "Test 2 terminé")

(2)pwd Entrez le répertoire courant et pwd dans le terminal comme suit

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

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

Obtenez le chemin absolu du répertoire courant avec os.getcwd () et obtenez le chemin relatif depuis le répertoire courant avec \ __ file__.

import os

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

Le résultat de l'exécution est le suivant.

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

(5)os.path.abspath() Vous pouvez obtenir le chemin relatif du répertoire courant avec \ __ file__, mais vous pouvez le convertir en chemin absolu avec os.path.abspath (). Le répertoire peut également être obtenu avec un chemin absolu.

import os

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

Le résultat de l'exécution est le suivant.

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

(6)os.path.join os.path.join peut combiner deux chaînes de caractères données dans l'argument en un seul chemin. Tout d'abord, lisez test.txt dans le répertoire test.

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

Ensuite, cela devient comme suit.

Test terminé

Ensuite, lisez test2.txt dans le répertoire test2.

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

Ensuite, cela devient comme suit.

Test 2 terminé

Ensuite, utilisez os.path.join pour lire test2 en combinant le chemin absolu vers le répertoire actuel et le chemin relatif vers test2.txt.

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())

Ensuite, cela devient comme suit.

Test 2 terminé

(7)chdir chdir Utilisé comme [chemin de destination]. Utilisé pour déplacer le répertoire courant sur le terminal. Tout d'abord, créez un chemin de destination.

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

Déplacez le répertoire actuel via le chemin de destination défini.

os.chdir(target2)

Au cas où, vérifiez le répertoire actuel et vérifiez s'il a bougé.

print(os.getcwd())

À partir du test, j'ai pu confirmer que le répertoire actuel pouvait être déplacé vers test2.

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

Quand je lis directement test2.txt (

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

Il est émis correctement comme suit. (Si le répertoire courant est test, with open ('test2.txt', encoding = 'utf-8') est remplacé par with open ('test2.test2.txt', encoding = 'utf-8') Il y a un besoin.)

Test 2 terminé

(8) Résumé

.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())

Site référencé

Obtenez l'emplacement (chemin) du fichier en cours d'exécution dans Python file

Recommended Posts

À propos des opérations Python et OS
À propos des objets et des classes Python
À propos des variables et des objets Python
À propos de Python, len () et randint ()
À propos de la date et du fuseau horaire Python
À propos de Python et des expressions régulières
Python # À propos de la référence et de la copie
À propos de Python sort () et reverse ()
À propos de _ et __
À propos de l'installation des séries Pwntools et Python2
À propos de Python dict et des fonctions triées
À propos de Python et Cython dtype
À propos de Python Pickle (cPickle) et Marshal
[Python] À propos des classes Executor et Future
À propos de Python, à partir et à l'importation, comme
Fichiers liés au système d'exploitation Python, opérations de sous-répertoire
À propos des tranches Python
À propos de la notation d'inclusion de python
À propos de Python tqdm.
À propos du rendement Python
À propos de python, classe
À propos de l'héritage Python
Fonctionnement du système d'exploitation Python
À propos de python, range ()
À propos de Python Decorator
Une histoire sur Python pop and append
À propos de la référence Python
À propos des décorateurs Python
[Python] À propos du multi-processus
Parler d'anciennes et de nouvelles classes en Python
Mon système d'exploitation (Python)
Parler des attributs de classe Python et des métaclasses
Pensez aux recherches de priorité de profondeur et de priorité de largeur en Python
À propos de la différence entre "==" et "is" en python
Une histoire sur la modification de Python et l'ajout de fonctions
[Python] En savoir plus sur la programmation asynchrone et les boucles d'événements
À propos des copies superficielles et profondes de Python / Ruby
À propos de Python for loop
Opérations sur les fichiers en Python
À propos des arguments de fonction (python)
Distribution OS et Linux
Astuces Python et Numpy
[Python] Opération de fichier / répertoire
[Python] pip et roue
Itérateur et générateur Python
Paquets et modules Python
Intégration Vue-Cli et Python
[Python] Mémo sur les fonctions
Ruby, Python et carte
Résumé sur Python3 + OpenCV3
Manipulation de fichiers avec Python
Python et Ruby se séparent
À propos de l'environnement de développement Python
Python: à propos des arguments de fonction
Python, à propos de la gestion des exceptions
À propos de Python Pyramid Traversal
À propos de Python3 ... (objet Ellipsis)