π§ ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΉΠ»Π° python: ΠΏΡΠΎΡΡΠΎΠΉ Π³ΠΈΠ΄ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
Π§ΡΠΎΠ±Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΉΠ»Π° Python, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .ico ΠΈΠ»ΠΈ .png, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΠΆΠ΅Π»Π°Π΅ΠΌΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ. ΠΠ°ΡΠ΅ΠΌ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄:
import sys
import ctypes
# ΠΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Ρ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ
icon_path = "ΠΏΡΡΡ_ΠΊ_Π²Π°ΡΠ΅ΠΉ_ΠΈΠΊΠΎΠ½ΠΊΠ΅.ico"
# ΠΠ°Π΄Π°ΠΉΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ Python, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ
python_file = "ΠΏΡΡΡ_ΠΊ_Π²Π°ΡΠ΅ΠΌΡ_ΡΠ°ΠΉΠ»Ρ.py"
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π½ΠΎΠ²ΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ
try:
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("new-icon")
ctypes.windll.shell32.SHChangeNotify(ctypes.c_long(0x8000000), ctypes.c_long(0), None, None)
except:
print("ΠΠ΅ ΡΠ΄Π°Π»ΠΎΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΉΠ»Π°.")
sys.exit(1)
print("ΠΠΊΠΎΠ½ΠΊΠ° ΡΠ°ΠΉΠ»Π° Python ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°!")
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΉΠ»Π° Python
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠ°Π²ΠΈΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΈΠΊΠΎΠ½ΠΊΠ° ΡΠ°ΠΉΠ»Π° Python, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π΅Π΅ Π½Π° ΡΠ²ΠΎΠ΅ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ Ρ ΠΏΠΎΠΊΠ°ΠΆΡ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΉΠ»Π° Python Π½Π° ΡΠ°Π·Π½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ .
Windows:
Π¨Π°Π³ 1: ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Python, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ.
Π¨Π°Π³ 2: ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΡΠ°ΠΉΠ» Python ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "Π‘Π²ΠΎΠΉΡΡΠ²Π°".
Π¨Π°Π³ 3: Π ΠΎΠΊΠ½Π΅ "Π‘Π²ΠΎΠΉΡΡΠ²Π°" Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ "ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ".
Π¨Π°Π³ 4: ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ "ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ".
import win32api
import win32con
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ Python
python_path = "C:\\Python\\python.exe"
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ
new_icon_path = "C:\\Path\\to\\new\\icon.ico"
# ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ
win32api.ChangeFileIcon(python_path, new_icon_path)
Mac:
Π¨Π°Π³ 1: ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Python, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ.
Π¨Π°Π³ 2: ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΡΠ°ΠΉΠ» Python ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ".
Π¨Π°Π³ 3: Π ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΉΠ»Π° Python Π² Π²Π΅ΡΡ Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡΠ³Π»Ρ.
Π¨Π°Π³ 4: ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡ, ΡΡΠΎΠ±Ρ Π²ΡΠ΄Π΅Π»ΠΈΡΡ Π΅Π΅, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Command + C, ΡΡΠΎΠ±Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ.
Π¨Π°Π³ 5: ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΏΠ°ΠΏΠΊΡ, Π³Π΄Π΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½ΠΎΠ²Π°Ρ ΠΈΠΊΠΎΠ½ΠΊΠ°, ΠΈ Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΊΠ»Π°Π²ΠΈΡ Command + V, ΡΡΠΎΠ±Ρ Π²ΡΡΠ°Π²ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ Π² ΠΏΠ°ΠΏΠΊΡ.
Π¨Π°Π³ 6: ΠΠ΅ΡΠ΅ΠΉΠ΄ΠΈΡΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΊ ΡΠ°ΠΉΠ»Ρ Python, Π½Π°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π½Π΅Π³ΠΎ ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "ΠΠΎΠΊΠ°Π·Π°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ".
Π¨Π°Π³ 7: Π ΠΎΠΊΠ½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π½Π°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ ΡΠ°ΠΉΠ»Π° Python ΠΈ ΡΠ΅Π»ΠΊΠ½ΠΈΡΠ΅ Π½Π° Π½Π΅Π΅.
Π¨Π°Π³ 8: ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ Π² ΠΌΠ΅Π½Ρ "ΠΡΠ°Π²ΠΊΠ°" ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "ΠΡΡΠ°Π²ΠΈΡΡ", ΡΡΠΎΠ±Ρ Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ Π½Π° Π½ΠΎΠ²ΡΡ.
import os
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ Python
python_path = "/usr/local/bin/python"
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ
new_icon_path = "/path/to/new/icon.icns"
# ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ
os.system(f'sips -i {new_icon_path} {python_path}')
Linux:
Π¨Π°Π³ 1: ΠΠ°ΠΉΠ΄ΠΈΡΠ΅ ΡΠ°ΠΉΠ» Python, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ.
Π¨Π°Π³ 2: ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° ΡΠ°ΠΉΠ» Python ΠΈ Π²ΡΠ±Π΅ΡΠΈΡΠ΅ "Π‘Π²ΠΎΠΉΡΡΠ²Π°".
Π¨Π°Π³ 3: Π ΠΎΠΊΠ½Π΅ "Π‘Π²ΠΎΠΉΡΡΠ²Π°" Π²ΡΠ±Π΅ΡΠΈΡΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΡ "ΠΠ°Π·ΠΎΠ²ΡΠΉ".
Π¨Π°Π³ 4: ΠΠ°ΠΆΠΌΠΈΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ "ΠΡΠ±ΡΠ°ΡΡ ΠΈΠΊΠΎΠ½ΠΊΡ".
import subprocess
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΡΠΈ ΠΊ ΡΠ°ΠΉΠ»Ρ Python
python_path = "/usr/bin/python3"
# Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ
new_icon_path = "/path/to/new/icon.png"
# ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ
subprocess.call(["gvfs-set-attribute", "-t", "string", python_path, "metadata::custom-icon", f"file://{new_icon_path}"])
Π’Π΅ΠΏΠ΅ΡΡ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ Π½ΠΎΠ²Π°Ρ ΠΈΠΊΠΎΠ½ΠΊΠ° Π΄Π»Ρ Π²Π°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Python!