Python: općenite usluge operacijskog sustava: baratanje imenom putanje
-
module os.path(službena dokumentacija) pruža prenosiv način za baratanje imenom putanje- kao i kod modula
os, prenosiv u terminima da radi na više različitih operacijskih sustava (operacijski sustavi slični Unixu i Windows) pa u dokumentaciji svake pojedine funkcije piše dostupnost
- kao i kod modula
-
os.path.abspath(path)vraća apsolutnu putanju za danu relativnu ili apsolutnu putanjupath os.path.basename(path)vraća ime datoteke ili direktorija za danu relativnu ili apsolutnu putanjupathos.path.isabs(path)vraćaTrueako je putanja apsolutnaos.path.exists(path)vraćaTrueako putanjapathpostojios.path.realpath(path)vraća putanju do datoteke u kanonskom obliku: ako jepathsimbolička poveznica, slijedi tu simboličku poveznicu; ako je rezultat opet simbolička poveznica, slijedi je i tako redom dok ne dođe do odredišta koje nije simbolička poveznica
Zadatak
Stvorite u direktoriju u kojem ćete pokrenuti Python skriptu dvije simboličke poveznice: prva je imena lnkhosts na datoteku /etc/hosts, a druga je nema-dat na /tmp/nepostojeca-datoteka. U Python skripti prvo saznajte apsolutne putanje do stvorenih poveznica, a zatim provjerite postoje li vaše poveznice i postoje li datoteke na koje pokazuju.
os.path.getatime(path)dohvaća zadnje vrijeme pristupa datoteci kao varijablu tipafloatu kojoj je zapisan broj sekundi od epoheos.path.getmtime(path)dohvaća zadnje vrijeme promjene datoteke kao varijablu tipafloatu kojoj je zapisan broj sekundi od epoheos.path.getctime(path)dohvaća zadnje vrijeme promjene metapodataka datoteke kao varijablu tipafloatu kojoj je zapisan broj sekundi od epohe-
os.path.getsize(path)dohvaća veličinu u bajtovima -
os.path.isfile(path)vraćaTrueako jepathputanja do obične datoteke ili simbolička poveznica na datoteku os.path.isdir(path)vraćaTrueako jepathputanja do direktorija ili simbolička poveznica na direktorijos.path.islink(path)vraćaTrueako jepathputanja simboličke poveznice
Zadatak
Saznajte posljednje vrijeme pristupa, vrijeme promjene metapodataka i veličinu datoteke /etc/hosts, a zatim i simboličke poveznice lnkhosts. Uvjerite se da se zaista radi o datoteci i simboličkoj poveznici.
os.path.expanduser(path)zamjenjuje~ili~guidoputanjom do korisničkog direktorija trenutnog korisnika, odnosno korisnikaguido(ako taj korisnik postoji); npr.os.path.expanduser("~")vratit će"/home/korisnik"os.path.expandvars(path)zamjenjuje varijablu ljuske njezinom vrijednošću; npr.os.path.expandvars("$HOME/Radna površina")vratit će"/home/korisnik/Radna površina"os.path.join(path, *paths)spaja dijelove putanje razdjelnicima putanje odgovarajućim za operacijski sustav na kojem radi (/na operacijskim sustavima sličnim Unixu,\na Windowsima); npr.os.path.join("/home", "korisnik", "Radna površina")vratit će"/home/korisnik/Radna površina"os.path.split(path)cijepa putanju u dva dijela, prvi je putanja do datoteke ili direktorija, a drugi je ime datoteke ili direktorija; npr.os.path.split("/home/korisnik/Radna površina")vraća uređeni par("/home/korisnik", "Radna površina")
Author: Vedran Miletić