🐍 Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: Π»ΡƒΡ‡ΡˆΠΈΠ΅ совСты ΠΈ Ρ‚Ρ€ΡŽΠΊΠΈ

Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π½Π° Python, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ subprocess. Π’ΠΎΡ‚ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

import subprocess

# ЗапускаСм ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 'ls'
result = subprocess.run(['ls'], capture_output=True, text=True)

# Π’Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚
print(result.stdout)

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ запустит ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 'ls', которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экран.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π½Π° Python

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π½Π° языкС Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях программирования. ΠžΡ‚ запуска Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄ΠΎ управлСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ ΠΈ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python.

1. Запуск Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΊΠΎΠΌΠ°Π½Π΄

Одним ΠΈΠ· распространСнных случаСв использования ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° Python являСтся запуск Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки. Для этого Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ subprocess.


import subprocess

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ запуска ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
print(result.stdout)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ subprocess.run() для запуска ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ 'ls' с ΠΎΠΏΡ†ΠΈΠ΅ΠΉ '-l'. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выводится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ 'result', Π° Π·Π°Ρ‚Π΅ΠΌ выводится Π½Π° экран.

2. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой

Python прСдоставляСт ряд Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ для управлСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ созданиС Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.


import os

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ создания Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
directory_name = 'new_directory'
os.mkdir(directory_name)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ os.mkdir() для создания Π½ΠΎΠ²ΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с ΠΈΠΌΠ΅Π½Π΅ΠΌ 'new_directory'.

3. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌ Π½Π° Python. Для этого ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ модуля ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ доступныС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ синтаксис.


import subprocess

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ls
result = subprocess.run(['ls', '-l', '/path/to/directory'], capture_output=True, text=True)
print(result.stdout)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ добавляСм Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ '/path/to/directory' ΠΊ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ 'ls -l'. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выводится Π½Π° экран.

4. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Π’Π΅Ρ€Π½ΡƒΠ²ΡˆΠΈΠΉΡΡ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π½Π° Python. МоТно ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для принятия Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… дСйствий.


import subprocess

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ получСния списка Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ
result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
output_lines = result.stdout.split('\n')
file_names = [line.split()[-1] for line in output_lines if line]
print(file_names)

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ 'ls -l'. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выводится Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ 'result.stdout', Π° Π·Π°Ρ‚Π΅ΠΌ обрабатываСтся для получСния списка ΠΈΠΌΠ΅Π½ Ρ„Π°ΠΉΠ»ΠΎΠ².

5. ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π½Π° Python Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ возникновСния ошибок. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ·-Π·Π° ошибки.


import subprocess

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹
try:
    result = subprocess.run(['unknown_command'], capture_output=True, text=True)
    print(result.stdout)
except subprocess.CalledProcessError as e:
    print(f'Ошибка выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: {e.stderr}')

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ пытаСмся Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅ΠΈΠ·Π²Π΅ΡΡ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ 'unknown_command'. Если происходит ошибка, ΠΌΡ‹ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ subprocess.CalledProcessError ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ сообщСниС ΠΎΠ± ошибкС.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π Π°Π±ΠΎΡ‚Π° с ΠΊΠΎΠΌΠ°Π½Π΄Π°ΠΌΠΈ Π½Π° Python ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для запуска Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, управлСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ ошибки ΠΈ ΠΏΡ€ΠΎΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ для получСния Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈ ΠΈΡ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹? - Π£Ρ€ΠΎΠΊΠΈ Python #1 | Космо

Π£Ρ€ΠΎΠΊΠΈ Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… | Ѐункция input Π² Python | Π’Π²ΠΎΠ΄ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ… Π² Python

ΠŸΡ€ΠΎΡΡ‚Π°Ρ анимация Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ #ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ #python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ”‘ Как ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² Python: Π»Π΅Π³ΠΊΠΎΠ΅ руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

πŸ”‘ Как ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ мСстами ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Python?

πŸ’‘ Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ строки Π² Python: совСты ΠΈ инструкции

🐍 Как Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: Π»ΡƒΡ‡ΡˆΠΈΠ΅ совСты ΠΈ Ρ‚Ρ€ΡŽΠΊΠΈ

βš™οΈ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ord Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ использованиС ord Π² Python

πŸ”Ž Как вывСсти Π½Π΅Ρ‡Π΅Ρ‚Π½Ρ‹Π΅ числа Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² Ρ†ΠΈΠΊΠ»Π΅: ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

πŸ”§ Как ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Python Π² Linux Π±Π΅Π· слоТностСй