Модулът на операционната система в Python осигурява достъп до специфични за системата функции за работа с файловата система, процеси, планировщик и др. Трябва да овладеете системата на Python OS за писане на приложения, които се справят с реални проблеми. Това ръководство обсъжда някои от основните концепции и илюстрира как да използвате системната команда на Python.

Характеристики на системата Python OS

Системата на ОС служи като преносим начин за взаимодействие с основната операционна система. Той предлага достъп до имена на файлове, аргументи на командния ред, променливи на околната среда, параметри на процеса и йерархия на файловата система заедно с други функционалности.

Този модул също така съдържа два подмодула, модула os.sys и модула os.path. Можете да използвате функциите, предоставени от модула на ОС, за изпълнение на широк спектър от задачи. Някои често срещани употреби включват изпълнение на команди на черупки, управление на файлове и директории, процеси на хвърляне на хайвераи т.н.

instagram viewer

Първи стъпки с модула OS

Най-лесният начин за изследване на модула на ОС е чрез интерпретатора. Можете да импортирате модула там и да използвате системните функции, без да пишете изходен код. За това обаче трябва да имате инсталиран Python. Затова продължете и инсталирайте Python на вашата локална машина.

Свързани: Как да инсталирате Python на Ubuntu

Стартирайте интерпретатора, като напишете питон във вашия терминал или командна обвивка. След като се отвори, импортирайте модула на OS, като използвате следното изявление.

>>> импортиране на os

Вече имате достъп до функционалностите, предоставени от модула на ОС, включително Python система команда. Например можете да определите системната платформа с помощта на име команда. Примерът по-долу показва как да извиквате системни команди, изложени от OS модула.

>>> os.name

Тази функция проверява дали присъстват определени специфични за ОС модули и определя платформата въз основа на това. Използвай uname функция, за да получите подробна информация.

>>> os.uname ()

Тази команда показва точната системна платформа заедно с архитектурата на машината, версията и информацията за версията. Използвай getcwd функция за извличане на текущата работна директория.

>>> os.getcwd ()

Можете лесно да промените работната директория, като използвате системната команда на Python chdir. Предайте новото местоположение като параметър на низ.

>>> os.chdir ('/ tmp')

The mkdir функцията на OS модула прави създаването на нови директории лесно. Освен това ни позволява да създаваме рекурсивни папки, което означава, че Python ще създаде всички липсващи директории, които са родители на директорията на листовете.

>>> os.mkdir ('new-dir')

Използвай rmdir команда за изтриване на директории от вашата работна директория.

>>> os.rmdir ('new-dir')

основи на модула на python os

Примери за системна команда на Python

Системната команда, предоставена от модула на ОС, позволява на програмистите да изпълняват команди на черупки. Не забравяйте да определите името на командата като низ. След като извикате python система команда, тя ще изпълни дадената команда в нова подчерупка.

>>> cmd = 'дата'
>>> os.system (cmd)

Можете да стартирате други самостоятелни приложения, като използвате същия метод. Следващият пример изпълнява терминален редактор nano от вашата обвивка на Python.

>>> cmd = 'nano'
>>> os.system (cmd)

Системата на Python OS също извежда кода за връщане за всяка изпълнявана команда. POSIX системите връщат 0 за успешно изпълнение и ненулеви стойности, за да посочат проблеми.

Можете да използвате системата на операционната система в Python за изпълнение на всичко, което искате. Например, ако вашата програма трябва да прочете информацията за версията на дадена програма на потребителската машина, можете да направите нещо като следното.

>>> cmd = 'gcc - версия'
>>> os.system (cmd)

Примерът по-долу изпълнява проста команда на черупката, която създава нов файл, наречен users.txt и го попълва с всички влезли потребители. Много програми на Python правят тези неща.

>>> os.system ('потребители> тест')

Предаваме името на командата на системата на ОС като низ. Можете да използвате всички видове полезни терминални команди същия начин.

>>> os.system ('ping -c 3 google.com')

Можете също да използвате подпроцес призовава за изпълнение на системни команди от Python. Това осигурява няколко допълнителни предимства, включително по-бързо време на изпълнение, по-добро обработване на грешки, анализиране на изхода и команди на черупката. Официалната документация на Python също препоръчва извикване на подпроцес над по-стари модули като os.system и os.spawn.

>>> импортиране на подпроцес
>>> subprocess.run (["ping", "- c 3", "example.com"])

Управление на файлове и директории чрез модул OS

Показахме как да създаваме прости файлове и директории с помощта на модула на Python OS. Какво ще стане, ако искате да създадете вложени папки? Системата OS също се грижи за това за нас програмистите. Например долните фрагменти създават папката $ HOME / test / root / api. Също така ще създаде необходимите родителски директории, ако не са налични.

>>> dirname = os.path.join (os.environ ['HOME'], 'test', 'root', 'api')
>>> отпечатване (име на име)
>>> os.makedirs (dirname)

Първо изтеглихме домашната директория с помощта на среда и след това се присъедини към имената на папките чрез os.path.join. Изявлението за печат показва името на папката и македири създава го.

Можем да видим новата директория с помощта на listdir метод на модула на ОС.

>>> os.chdir (os.path.join (os.environ ['HOME'], 'test', 'root', 'api'))
>>> os.system ('touch file1 file2 file3')
>>> os.listdir (os.environ ['НАЧАЛО'])

Можете лесно да преименувате директорията на api, като използвате преименуване команда, предлагана от модула на ОС. Изразът по-долу преименува тази директория на api на test-api.

>>> os.rename ('api', 'test-api')

Използвай isfile и isdir функция на ОС, ако вашата програма трябва да провери конкретни файлове или директории.

>>> os.path.isfile ('file1')
>>> os.path.isdir ('файл1')

Модулът на операционната система в Python също така позволява на разработчиците да извличат имена на файлове и папки заедно с файлови разширения. Долните фрагменти илюстрират използването на os.path.split и os.path.splitext в това отношение.

>>> dir = os.path.join (os.environ ['HOME'], 'test', 'root', 'api', 'file1.txt')
>>> dirname, basename = os.path.split (dir)
>>> отпечатване (име на име)
>>> печат (основно име)

Използвайте кода по-долу, за да извлечете разширения като .txt или .mp3 от имена на файлове.

>>> име на файл, разширение = os.path.splitext (основно име)
>>> печат (име на файл)
>>> печат (разширение)

Разни употреби на системата Python OS

Модулът на операционната система предлага много допълнителни функции за манипулиране на неща като потребителски процеси и график на задания. Например можете бързо да получите UID (потребителски идентификатор) на текущия процес, като използвате getuid функция.

>>> os.getuid ()
>>> os.getgid ()

The getgid функция връща идентификатора на групата на текущия процес. Използвайте getpid за получаване на PID (идентификатор на процеса) и getppid за да получите идентификатора на родителския процес.

>>> os.getpid ()
>>> os.getppid ()

Можете също да използвате модула OS за промяна на разрешенията на файлове и директории от вашата програма Python. Използвай chmod функция на ОС, за да направи това.

>>> os.chmod ('file1.txt', 0o444)

Тази команда променя разрешението на file1.txt да се 0444. Използвайте 0o444 вместо 0444 за да се уверите, че изявлението е съвместимо и в двете основни версии на Python.

Използвайте силата на системата на Python OS

Модулът за операционна система на Python предоставя всичко необходимо за взаимодействие с основната операционна система. Ясното разбиране на системата на ОС е необходимо за писане на наистина междуплатформени програми. Покрихме някои от основните функции, предоставени от този модул, за да ви помогнем да започнете. Изпробвайте ги със свое собствено темпо и не забравяйте да се занимавате с тях.

електронна поща
Как да създаваме и използваме Tuples в Python

Готови ли сте да пренесете вашето Python кодиране на следващото ниво? Време е да разберем как да създаваме и използваме кортежи.

Свързани теми
  • Програмиране
  • Python
За автора
Рубаят Хосейн (8 статии публикувани)

Rubaiat е CS град със силна страст към отворен код. Освен ветеран на Unix, той се занимава и с мрежова сигурност, криптография и функционално програмиране. Той е запален колекционер на книги втора ръка и изпитва безкрайно възхищение от класическия рок.

Още от Rubaiat Hossain

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и ексклузивни оферти!

Още една стъпка…!

Моля, потвърдете имейл адреса си в имейла, който току-що ви изпратихме.

.