Sök…


Introduktion

Den här modulen implementerar några användbara funktioner på sökväg. Banparametrarna kan skickas som antingen strängar eller som byte. Program uppmuntras att representera filnamn som (Unicode) teckensträngar.

Syntax

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

Gå med på vägar

För att koppla ihop två eller flera bankomponenter, importera först OS-modulen för Python och använd sedan följande:

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

Fördelen med att använda os.path är att den tillåter kod att förbli kompatibel över alla operativsystem, eftersom den använder separatorn som är lämplig för den plattform den körs på.

Till exempel kommer resultatet av detta kommando på Windows att vara:

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

I ett Unix OS:

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

Absolut väg från relativ väg

Använd 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'

Sökvägskomponentmanipulering

Så här delar du upp en komponent från vägen:

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

Hämta överkatalogen

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

Om den givna sökvägen finns.

för att kontrollera om den givna sökvägen finns

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

kontrollera om den givna sökvägen är en katalog, fil, symbolisk länk, monteringspunkt etc.

för att kontrollera om den givna sökvägen är en katalog

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

för att kontrollera om den givna sökvägen är en fil

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

för att kontrollera om den givna sökvägen är en symbolisk länk

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

för att kontrollera om den givna banan är en monteringspunkt

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow