πŸ”§ Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· python: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· Python?

Для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‡Π΅Ρ€Π΅Π· Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ subprocess. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


import subprocess

# Π£ΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ
program_path = '/ΠΏΡƒΡ‚ΡŒ/ΠΊ/ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅'

# ЗапускаСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄
output = subprocess.run([program_path], capture_output=True, text=True)

# ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ
if output.returncode == 0:
    print("ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°!")
else:
    print("ΠŸΡ€ΠΈ запускС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ subprocess.run() для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ исполняСмому Ρ„Π°ΠΉΠ»Ρƒ Π² Π²ΠΈΠ΄Π΅ списка Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Π²Ρ‹Π²ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² capture_output=True, text=True.

ПослС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ свойства returncode ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° output. Если ΠΊΠΎΠ΄ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π²Π΅Π½ 0, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π°.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ это руководство ΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ ΠΏΠΎΠ΄ свои потрСбности, указывая ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ.

Π£Π΄Π°Ρ‡ΠΈ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

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

Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· Python

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

1. ΠœΠΎΠ΄ΡƒΠ»ΡŒ subprocess

ΠœΠΎΠ΄ΡƒΠ»ΡŒ subprocess прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска сторонних ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ· Python. Он прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для создания Π½ΠΎΠ²Ρ‹Ρ… процСссов, управлСния ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Ρ…Π²Π°Ρ‚Π° Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ ошибок. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования модуля subprocess для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:


import subprocess

# Запуск стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
subprocess.run(["ΠΏΡƒΡ‚ΡŒ_ΠΊ_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅", "Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚1", "Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚2"])

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ run ΠΈΠ· модуля subprocess для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трСбуСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ "ΠΏΡƒΡ‚ΡŒ_ΠΊ_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅" Π½Π° фактичСский ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, Π° "Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚1" ΠΈ "Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚2" Π½Π° фактичСскиС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трСбуСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅.

2. ΠœΠΎΠ΄ΡƒΠ»ΡŒ os

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ запуска сторонних ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Ρ‡Π΅Ρ€Π΅Π· Python - использованиС модуля os. ΠœΠΎΠ΄ΡƒΠ»ΡŒ os прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмой, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ запуск сторонних ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования модуля os для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:


import os

# Запуск стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
os.system("ΠΏΡƒΡ‚ΡŒ_ΠΊ_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚1 Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚2")

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ system ΠΈΠ· модуля os для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠœΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² Π²ΠΈΠ΄Π΅ строки, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠΌ.

3. ΠœΠΎΠ΄ΡƒΠ»ΡŒ subprocess.Popen

ΠœΠΎΠ΄ΡƒΠ»ΡŒ subprocess Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт класс Popen, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ сторонниС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈΠ· Python с большСй Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒΡŽ. Π­Ρ‚ΠΎΡ‚ класс позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Π²ΠΎΠ΄ΠΎΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования класса Popen:


import subprocess

# Запуск стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π·Π°Ρ…Π²Π°Ρ‚ Π²Ρ‹Π²ΠΎΠ΄Π°
process = subprocess.Popen(["ΠΏΡƒΡ‚ΡŒ_ΠΊ_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅", "Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚1", "Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚2"], stdout=subprocess.PIPE)
output, error = process.communicate()

# Π’Ρ‹Π²ΠΎΠ΄ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°
print(output)

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ класс Popen ΠΈΠ· модуля subprocess для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π’ качСствС Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΈ список Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ communicate(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ ΠΈ ошибки стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. НаконСц, ΠΌΡ‹ Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.

4. Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° pyautogui

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая ΠΈΠΌΠ΅Π΅Ρ‚ графичСский интСрфСйс, ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ дСйствия (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‰Π΅Π»Ρ‡ΠΊΠΈ ΠΌΡ‹ΡˆΠΈ ΠΈΠ»ΠΈ наТатия клавиш), Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ pyautogui. Она прСдоставляСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ дСйствия Π½Π° экранС. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pyautogui для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹:


import pyautogui

# Запуск стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
pyautogui.press('win')
pyautogui.typewrite('ΠΏΡƒΡ‚ΡŒ_ΠΊ_ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅')
pyautogui.press('enter')

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ pyautogui для запуска стороннСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠœΡ‹ сначала Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ "Win" для открытия мСню ΠŸΡƒΡΠΊ, Π·Π°Ρ‚Π΅ΠΌ Π²Π²ΠΎΠ΄ΠΈΠΌ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ typewrite ΠΈ, Π½Π°ΠΊΠΎΠ½Π΅Ρ†, Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ "Enter".

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

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

НадСюсь, эта ΡΡ‚Π°Ρ‚ΡŒΡ ΠΏΠΎΠΌΠΎΠ³Π»Π° Π²Π°ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· Python. Π£Π΄Π°Ρ‡ΠΈ Π² вашСм ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ!

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

Как Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° Python Ρ„Π°ΠΉΠ»Ρ‹ .py Π² Windows 10

Π£Ρ€ΠΎΠΊΠΈ Python / Запуск Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Запуск Π²Π½Π΅ΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ python

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

πŸ”§ Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΈΡ‚ΠΎΠ½ Π½Π° ΠΌΠ°ΠΊΠ±ΡƒΠΊ: пошаговая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… πŸ“š

πŸš€ Как ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Python 3: 7 эффСктивных способов 🐍

πŸ§ πŸ’» Π—Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Python для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π΅ΠΉΡ€ΠΎΠ½Π½Ρ‹Ρ… сСтСй?

πŸ”§ Как Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΡΡ‚ΠΎΡ€ΠΎΠ½Π½ΡŽΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Ρ‡Π΅Ρ€Π΅Π· python: ΠΏΠΎΠ»Π½Ρ‹ΠΉ Π³Π°ΠΉΠ΄ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

❓ Как ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅? πŸ•

πŸ”§ΠšΠ°ΠΊ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ PyCharm с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Sympy Python?

πŸ”‘ Как ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ элСмСнты списка Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: простоС объяснСниС ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹