Ricerca…


introduzione

Questo modulo implementa alcune utili funzioni sui percorsi. I parametri del percorso possono essere passati come stringhe o byte. Le applicazioni sono incoraggiate a rappresentare i nomi dei file come stringhe di caratteri (Unicode).

Sintassi

  • os.path.join (a, * p)
  • os.path.basename (p)
  • os.path.dirname (p)
  • os.path.split (p)
  • os.path.splitext (p)

Join Paths

Per unire due o più componenti del percorso, prima importa il modulo os di python e poi usa:

import os
os.path.join('a', 'b', 'c')

Il vantaggio dell'utilizzo di os.path è che consente al codice di rimanere compatibile su tutti i sistemi operativi, in quanto utilizza il separatore appropriato per la piattaforma su cui è in esecuzione.

Ad esempio, il risultato di questo comando su Windows sarà:

>>> os.path.join('a', 'b', 'c')
'a\b\c'

In un sistema operativo Unix:

>>> os.path.join('a', 'b', 'c')
'a/b/c'

Percorso assoluto dal percorso relativo

Usa os.path.abspath :

>>> os.getcwd()
'/Users/csaftoiu/tmp'
>>> os.path.abspath('foo')
'/Users/csaftoiu/tmp/foo'
>>> os.path.abspath('../foo')
'/Users/csaftoiu/foo'
>>> os.path.abspath('/foo')
'/foo'

Manipolazione dei componenti del percorso

Per dividere un componente fuori dal percorso:

>>> p = os.path.join(os.getcwd(), 'foo.txt')
>>> p
'/Users/csaftoiu/tmp/foo.txt'
>>> os.path.dirname(p)
'/Users/csaftoiu/tmp'
>>> os.path.basename(p)
'foo.txt'
>>> os.path.split(os.getcwd())
('/Users/csaftoiu/tmp', 'foo.txt')
>>> os.path.splitext(os.path.basename(p))
('foo', '.txt')

Ottieni la directory principale

os.path.abspath(os.path.join(PATH_TO_GET_THE_PARENT, os.pardir))

Se il percorso specificato esiste.

per verificare se il percorso specificato esiste

path = '/home/john/temp'
os.path.exists(path)
#this returns false if path doesn't exist or if the path is a broken symbolic link

per verificare se il percorso indicato è una directory

dirname = '/home/john/python'
os.path.isdir(dirname)

per verificare se il percorso indicato è un file

filename = dirname + 'main.py'
os.path.isfile(filename)

per verificare se il percorso indicato è un collegamento simbolico

symlink = dirname + 'some_sym_link'
os.path.islink(symlink)

per verificare se il percorso indicato è un punto di montaggio

mount_path = '/home'
os.path.ismount(mount_path)


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow