ΠΠΎΠ»Π½ΡΠΉ ΠΊΡΡΡ ΠΏΠΎ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Tkinter + ΠΡΠΈΠΌΠ΅ΡΡ
Π Python Π΅ΡΡΡ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ GUI ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠ²Β (graphical user interface), ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΠΎΠ»ΡΠΊΠΎ Tkinter Π²ΡΡΡΠΎΠ΅Π½ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΡΠ·ΡΠΊΠ°. Π£ Tkinter Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ². ΠΠ½ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½ΡΠΉ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π½Π° Windows, macOS ΠΈ Linux.
ΠΠΈΠ·ΡΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Tkinter, Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΠ°ΠΊ, ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΠΎΠ½ΠΈ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ ΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ°ΡΡ.
Π₯ΠΎΡΡ Tkinter ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌ GUI ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠΎΠΌ Π½Π° Python, Ρ Π½Π΅Π³ΠΎ Π΅ΡΡΡ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΈ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Tkinter, Π²ΡΠ³Π»ΡΠ΄ΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌΠΈ. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ΅Π½ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ, Π±ΡΠΎΡΠΊΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠΎ Tkinter ΠΌΠΎΠΆΠ΅Ρ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ΅ΠΌ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ PyQt5 ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠ»ΡΠ½Π΅Π΅ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΠ»Π°Π½Π΅.
Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² ΠΏΠ»Π°Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ, Tkinter ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π»Π΅Π³ΠΊΠΈΠΌ ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΠΌΠΈ. ΠΡΠΎ ΠΎΡΠ»ΠΈΡΠ½ΡΠΉ Π²ΡΠ±ΠΎΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² Python, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΅ΡΠ»ΠΈ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΠΎΠ±Π»ΠΈΠΊ Π½Π΅ Π² ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ΅ Π΄Π»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π° Π±ΠΎΠ»ΡΡΡΡ ΡΠΎΠ»Ρ ΠΈΠ³ΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΠΊΡΠΎΡΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠΎΡΠΎΡΡΡ.
ΠΡΡΠ³ΠΈΠ΅ ΡΡΠ°ΡΡΠΈ ΠΏΠΎ Tkinter Π½Π° ΡΠ°ΠΉΡΠ΅
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° ΠΏΠΎ ΡΠ΅Π½ΡΡΡ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π²ΡΡ ΠΎΠ΄Π° Π² Tkinter
- Π Π°Π·ΠΌΠ΅ΡΠΊΠ° Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π² Tkinter β pack, grid ΠΈ place
- ΠΠΈΠ΄ΠΆΠ΅ΡΡ Checkbutton, Label, Scale ΠΈ Listbox Π² Tkinter
- ΠΠ΅Π½Ρ, ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ ΠΈ ΠΏΠ°Π½Π΅Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ² Π² Tkinter
- ΠΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΡΠ΅ ΠΎΠΊΠ½Π° Π² Tkinter
- Π ΠΈΡΡΠ΅ΠΌ Π»ΠΈΠ½ΠΈΠΈ, ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ, ΠΊΡΡΠ³ ΠΈ ΡΠ΅ΠΊΡΡ Π² Tkinter
- ΠΠΈΡΠ΅ΠΌ ΠΈΠ³ΡΡ Π·ΠΌΠ΅ΠΉΠΊΠ° Π½Π° Tkinter
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π°ΡΠΏΠ΅ΠΊΡΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°
- ΠΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Β«Hello, World!Β» Π² Tkinter;
- Π Π°Π±ΠΎΡΠ° Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Π²ΡΠΎΠ΄Π΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ Π±ΠΎΠΊΡΠΎΠ²;
- Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΠΊΠ΅ΡΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· Π³Π΅ΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΡ;
- Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ Python.
ΠΠΎΡΠ»Π΅ ΠΎΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π½Π°Π²ΡΠΊΠΎΠ² Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², Π΄Π°Π½Π½ΡΡ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π²Π° ΡΠ°Π±ΠΎΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΄Π½ΠΎ Π±ΡΠ΄Π΅Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠ΅ΡΠΎΠΌ ΡΠ΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΡ, Π° Π²ΡΠΎΡΠΎΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠ°. Π§ΡΠΎ ΠΆ, ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ!
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ GUI ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° Tkinter
ΠΠ»Π°Π²Π½ΡΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠΌ GUI Tkinter ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠΊΠ½ΠΎ. ΠΠΊΠ½Π°ΠΌΠΈ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π²ΡΠ΅ GUI ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ. ΠΠ°Π½Π½ΡΠ΅ GUI ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΊ ΡΠΈΡΠ»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π±ΠΎΠΊΡΡ, ΡΡΠ»ΡΠΊΠΈ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°Π·ΡΠ²Π°ΡΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ. ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π²Π½ΡΡΡΠΈ ΠΎΠΊΠΎΠ½.
Π‘ΠΏΠ΅ΡΠ²Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠΊΠ½ΠΎ Ρ ΠΎΠ΄Π½ΠΈΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ. ΠΠ°ΠΏΡΡΡΠΈΠΌ Π½ΠΎΠ²ΡΡ ΡΠ΅ΡΡΠΈΡ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ Python, ΡΠ»Π΅Π΄ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: ΠΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅, Π±ΡΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° Windows, macOS ΠΈ Ubuntu Linux 18.04 ΡΠ΅ΡΠ΅Π· Π²Π΅ΡΡΠΈΠΈ Python 3.6, 3.7 ΠΈ 3.8.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Python Π½Π° Windows ΠΈΠ»ΠΈ macOS, ΡΠΊΠ°ΡΠ°Π² ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ c ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° python.org, ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π·Π°ΠΏΡΡΠΊΠΎΠΌ ΠΊΠΎΠ΄Π° ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠΏΡΡΡΠΈΡΡ ΠΎΡΡΠ°Π²ΡΡΡΡΡ ΡΠ°ΡΡΡ Π·Π°ΠΌΠ΅ΡΠΊΠΈ ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΠΊ ΡΠ°ΠΌΠΎΠΌΡ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Ρ.
Π ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ Π²Π²ΠΈΠ΄Ρ ΠΎΡΡΡΡΡΡΠ²ΠΈΡ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΡ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠ² Python Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ, Π²Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Python ΠΈΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠΎΠ³Π΄Π° ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΠΌΠΎΠΌΠ΅Π½ΡΡ.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python Π½Π° macOS ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Homebrew
: ΠΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ² Python Π΄Π»Ρ macOS, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ Π½Π° Homebrew, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π±Π΅Π· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Tcl/Tk Ρ Tkinter. ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²Π΅ΡΡΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ΅ΡΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅ΠΉ ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Tkinter Π² Python. ΠΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΊΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ macOS.
Ubuntu Linux 16.04:
ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Python Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π° Ubuntu Linux 16.04, ΡΡΠΎ 3.5. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ ΡΠ΅ΡΠ΅Π· deadsnakes PPA. ΠΠ°Π»Π΅Π΅ Π΄Π°Π½Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ PPA ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅ΠΉ Π²Π΅ΡΡΠΈΠΈ Python Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Tcl/Tk:
$ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt-get update $ sudo apt-get install python3.8 python3-tk
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.8 python3-tk
ΠΠ΅ΡΠ²ΡΠ΅ Π΄Π²Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ deadsnakes PPA Π² Π²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ, Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Python 3.8 ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ GUI Tkinter.
Ubuntu Linux 18.04:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΡΡ Π²Π΅ΡΡΠΈΡ Python Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Tcl/Tk ΠΈΠ· ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ ΡΠ΅ΡΠ΅Π· ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
$ sudo apt-get install python3.8 python3-tk
$ sudo apt-get install python3.8 python3-tk
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Python 3.8, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ Tkinter.
ΠΡΠΎΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Linux:
ΠΡΠ»ΠΈ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π½Π΅Ρ ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠ° Python Π΄Π»Ρ Linux Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²Π°, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΡΠ°Π²ΠΈΡΡ Python Π²ΠΌΠ΅ΡΡΠ΅ Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠ΅ΠΉ Tcl/Tk ΡΠ΅ΡΠ΅Π· ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄. Π‘ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠ΅ΠΉ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ΅: Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° Python 3.8 ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° Linux
Π ΠΎΡΠΊΡΡΡΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ IDLE Python ΠΏΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Tkinter:
ΠΠΊΠ½ΠΎ, ΠΈΠ»ΠΈ window ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ° Tkinter. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΏΡΠΈΡΠ²ΠΎΠΈΠ² Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΎΠΊΠ½Π° window
:
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π²ΡΡΠ΅ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. Π’ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ, Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ:
ΠΠ°Π»Π΅Π΅ Π² ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ Π±ΡΠ΄ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΠ· ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Ubuntu ΠΈ Windows.
ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
Π’Π΅ΠΏΠ΅ΡΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠΊΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π½Π° Π½Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΠΊΠ»Π°ΡΡ tk.Label
ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ°ΠΊΠΎΠΉ Π»ΠΈΠ±ΠΎ ΡΠ΅ΠΊΡΡ Π½Π° ΠΎΠΊΠ½ΠΎ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΡΡΠ»ΡΠΊΠ° (label) Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ "ΠΡΠΈΠ²Π΅Ρ, Tkinter!"
ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΠΌ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ greeting
:
>>> greeting = tk.Label(text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!»)
>>> greeting = tk.Label(text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!») |
Π‘ΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ°Π½Π΅Π΅ ΠΎΠΊΠ½ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ. Π‘ΠΎΠ·Π΄Π°Π΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΡΡΠ»ΡΠΊΠ°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠΊΠ° Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΎΠΊΠ½ΠΎ. ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Π½Π° ΠΎΠΊΠ½ΠΎ. Π‘Π΅ΠΉΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ .pack()
ΠΎΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΡΡΠ»ΡΠΊΠ°:
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠΊΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° .pack()
Π΄Π»Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Π² ΠΎΠΊΠ½Π΅, Tkinter ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ°Π·ΠΌΠ΅Ρ ΠΎΠΊΠ½Π° Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΈΠΌ, Π½Π°ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠΊΠ° Π² Π½Π΅Π³ΠΎ Π½Π΅ Π²Π»Π΅Π·Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ. Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ°ΠΆΠ΅ΡΡΡ, Π±ΡΠ΄ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ»ΡΡΠΈΠ»ΠΎΡΡ, Π½ΠΎ ΡΡΠΎ Π½Π΅ ΡΠΎΠ²ΡΠ΅ΠΌ ΡΠ°ΠΊ. window.mainloop()
ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Python, ΡΡΠΎ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΈΠΊΠ» ΡΠΎΠ±ΡΡΠΈΠΉ Tkinter. ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π²ΡΠΎΠ΄Π΅ Π½Π°ΠΆΠ°ΡΠΈΠΉ Π½Π° ΠΊΠ»Π°Π²ΠΈΡΠΈ ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΎΠ½ ΡΠ°ΠΊΠΆΠ΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ Π·Π°ΠΏΡΡΠΊ Π»ΡΠ±ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΡΠ»Π΅, ΠΏΠΎΠΊΠ° ΠΎΠΊΠ½ΠΎ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΎΠ½ΠΎ Π±ΡΠ»ΠΎ Π²ΡΠ·Π²Π°Π½ΠΎ, Π½Π΅ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΡΡΡΠΎ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΊΡΡΡΡ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΠΎΡΠ²ΠΈΠ²ΡΡΡΡΡ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ Tkinter ΠΈΠ· Python REPL ΠΎΠΊΠ½Π° ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡΡΡ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ. ΠΠ΄Π½Π°ΠΊΠΎ, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Tkinter Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΠ· Π·Π°ΠΏΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΊΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ.
ΠΡΠ»ΠΈ Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΒ
window.mainloop()
Π² ΠΊΠΎΠ½Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π² Python ΡΠ°ΠΉΠ»Π΅, ΡΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Tkinter Π½Π΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡ Π²ΠΎΠΎΠ±ΡΠ΅, ΠΈ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ.
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° Π² Tkinter, Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π² ΠΏΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π½Π°ΠΌ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ! Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ Π² Tkinter, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΡΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
ΠΠ°Π΄Π°Π½ΠΈΠ΅ #1 Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΎΠ±ΡΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π² Tkinter
ΠΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠ²ΠΎΠΈ Π·Π½Π°Π½ΠΈΡ.
ΠΠ°ΠΏΠΈΡΠΈΡΠ΅ ΠΏΠΎΠ»Π½ΡΠΉ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠΊΠ½Π° Π² Tkinter Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ Β«Python ΡΡΠ»ΠΈΡ!Β». ΠΠΊΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ. ΠΠ°ΡΠ΅ΠΌ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ°Π²Π½ΠΈΡΡ ΡΠ²ΠΎΠΉ ΠΊΠΎΠ΄ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΠΌ Π½ΠΈΠΆΠ΅. ΠΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠ° Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΡΠΈΠ»Ρ, ΠΈ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΎΠ²ΡΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½Π° Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊΠΎΠ΄ ΠΈΠ· ΡΠ»Π΅Π΄ΡΡΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ°.
ΠΠΎΠ΄ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ΠΌ
import tkinter as tk window = tk.Tk() label = tk.Label(text=»Python ΡΡΠ»ΠΈΡ!») label.pack() window.mainloop()
import tkinter as tk Β window = tk.Tk() label = tk.Label(text=»Python ΡΡΠ»ΠΈΡ!») label.pack() Β window.mainloop() |
Π Π°Π±ΠΎΡΠ° Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Π² Tkinter
ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ½ΠΎΠ²ΠΎΠΉ GUI ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Tkinter Π² Python. ΠΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ. Π Tkinter ΠΊΠ°ΠΆΠ΄ΡΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ»Π°ΡΡΠΎΠΌ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΈΠ· Tkinter:
ΠΠ»Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
---|---|
Label | ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ Π²ΡΡΠ°Π²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π° ΠΎΠΊΠ½Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. |
Button | ΠΠ½ΠΎΠΏΠΊΠ°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅ΠΊΡΡ, ΡΠΎΠ²Π΅ΡΡΠ°Π΅Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° Π½Π΅Π΅. |
Entry | ΠΠΈΠ΄ΠΆΠ΅Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΡΠΊΠΈ ΡΠ΅ΠΊΡΡΠ°. ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ <input type="text"> Π² HTML. |
Text | ΠΠΈΠ΄ΠΆΠ΅Ρ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ°. ΠΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½Ρ <textarea> Π² HTML. |
Frame | ΠΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΈΠ»ΠΈ Π΄Π»Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΡΠΎΡΠ½ΠΈΡ ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ. |
Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ, ΠΌΡ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π²ΡΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ². Π‘ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Tkinter ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ Basic Widgets ΠΈ More Widgets. Π ΠΏΠΎΠΊΠ° ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ ΡΡΠ»ΡΠΊΠ° Label.
ΠΠΈΠ΄ΠΆΠ΅Ρ Label β ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ
ΠΠΈΠ΄ΠΆΠ΅ΡΡ Label
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΎΠΊ. Π’Π΅ΠΊΡΡ Π½Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ Label
, Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ. ΠΠ½ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ. ΠΠ°ΠΊ Π±ΡΠ»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π² Π½Π°ΡΠ°Π»Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π°, Π²ΠΈΠ΄ΠΆΠ΅Ρ Label
ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Label
ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ text
:
label = tk.Label(text=»Hello, Tkinter»)
label = tk.Label(text=»Hello, Tkinter») |
ΠΠΈΠ΄ΠΆΠ΅ΡΡ Label
ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠ΅ΠΊΡΡ Ρ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΠΈ ΡΠΎΠ½ΠΎΠΌ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ ΡΠ΅ΡΠ½ΡΠΉ ΠΈ Π±Π΅Π»ΡΠΉ ΡΠ²Π΅ΡΠ°. Π‘Π»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π² Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΠΊΠ°Π·Π°Π½Ρ ΠΈΠ½ΡΠ΅ ΡΠ²Π΅ΡΠ°, ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΈΡ
Π²Ρ ΠΈ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅.
ΠΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ²Π΅Ρ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΡΠΎΠ½Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Label
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ foreground
ΠΈ background
:
label = tk.Label( text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», foreground=»white», # Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π±Π΅Π»ΡΠΉ ΡΠ΅ΠΊΡΡ background=»black» # Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ½ΡΠΉ ΡΠΎΠ½ )
label = tk.Label( Β Β Β Β text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», Β Β Β Β foreground=»white»,Β Β # Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π±Π΅Π»ΡΠΉ ΡΠ΅ΠΊΡΡ Β Β Β Β background=»black»Β Β # Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ½ΡΠΉ ΡΠΎΠ½ ) |
ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠ΅ ΡΠ²Π΅ΡΠ°:
red
β ΠΊΡΠ°ΡΠ½ΡΠΉ;orange
β ΠΎΡΠ°Π½ΠΆΠ΅Π²ΡΠΉ;yellow
β ΠΆΠ΅Π»ΡΡΠΉ;green
β Π·Π΅Π»Π΅Π½ΡΠΉ;blue
β ΡΠΈΠ½ΠΈΠΉ;purple
β ΡΠΈΡΠ΅Π½Π΅Π²ΡΠΉ.
ΠΠ½ΠΎΠ³ΠΈΠ΅ HTML-ΡΠ²Π΅ΡΠ° ΠΈΠΌΠ΅ΡΡ ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π² Tkinter. Π‘ΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΠ²Π΅ΡΠΎΠ² ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π·Π΄Π΅ΡΡ.
ΠΡΠ»ΠΈ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Π² ΡΠ΅ΠΌΠ΅, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠ²Π΅ΡΠ°Ρ macOS ΠΈ Windows, ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ΅ΠΌΠΎΠΉ ΠΠ‘, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ ΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠ΅ΠΉ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠ²Π΅ΡΠΎΠ².
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ²Π΅Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ RGB ΡΠ°ΠΊΠΎΠ΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π² CSS Π΄Π»Ρ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°ΠΉΡΠΎΠ²:
label = tk.Label(text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», background=»#34A2FE»)
label = tk.Label(text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», background=»#34A2FE») |
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ½ ΡΡΠ°Π» ΠΏΡΠΈΡΡΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»ΡΠ±ΠΎΠ³ΠΎ ΡΠ²Π΅ΡΠ°. Π¨Π΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ RGB, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΠ²Π΅ΡΠΎΠ², Π·Π°ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½Ρ, Π½ΠΎ ΡΡΠΎ Π΄Π΅Π»Π°Π΅Ρ ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΡΠΌΠΈ. Π ΡΡΠ°ΡΡΡΡ, Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΈ Π±ΡΡΡΡΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΡ ΠΊΠΎΠ΄ΠΎΠ² ΡΠ²Π΅ΡΠΎΠ².
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ Ρ
ΠΎΡΠ΅ΡΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡΡ foreground
ΠΈ background
, ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² β fg
ΠΈ bg
. ΠΠ½ΠΈ ΡΠΎΡΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ
label = tk.Label(text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», fg=»white», bg=»black»)
label = tk.Label(text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», fg=»white», bg=»black») |
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΈΡΠΈΠ½ΠΎΠΉ ΠΈ Π²ΡΡΠΎΡΠΎΠΉ ΡΡΠ»ΡΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² width
ΠΈ height
:
import tkinter as tk window = tk.Tk() label = tk.Label( text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», fg=»white», bg=»black», width=20, height=20 ) label.pack() window.mainloop()
import tkinter as tk Β window = tk.Tk() Β label = tk.Label( Β Β Β Β text=»ΠΡΠΈΠ²Π΅Ρ, Tkinter!», Β Β Β Β fg=»white», Β Β Β Β bg=»black», Β Β Β Β width=20, Β Β Β Β height=20 ) Β label.pack() window.mainloop() |
Π ΠΎΠΊΠ½Π΅, ΡΡΠ»ΡΠΊ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠΎΠΆΠ΅Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡΡΡ ΡΡΡΠ°Π½Π½ΡΠΌ, ΡΡΠΎ ΡΡΠ»ΡΠΊ Π² ΠΎΠΊΠ½Π΅ Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΡΠΌ, Ρ
ΠΎΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ ΡΠΈΡΠΈΠ½Ρ, ΡΠ°ΠΊ ΠΈ Π²ΡΡΠΎΡΡ ΡΠ°Π²Π΅Π½ 20
. ΠΡΠ΅ ΠΎΡΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡΡΡΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ½ΠΈΡΠ°Ρ
.
ΠΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Π° "0"
, ΠΈΠ»ΠΈ ΡΠΈΡΡΠΎΠΉ Π½ΠΎΠ»Ρ, Π² ΡΡΠΈΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΎΠ΄ΠΈΠ½ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΡΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ½ΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π²ΡΡΠΎΡΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Π° "0"
.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: Tkinter ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ½ΠΈΡΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΈΡΠΈΠ½Ρ ΠΈ Π²ΡΡΠΎΡΡ Π²ΠΌΠ΅ΡΡΠΎ Π΄ΡΠΉΠΌΠΎΠ², ΡΠ°Π½ΡΠΈΠΌΠ΅ΡΡΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ°Π·Π½ΡΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ .
ΠΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ½ΠΈΡΠΎΠ² ΡΠΈΡΠΈΠ½ΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ°Π·ΠΌΠ΅Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΠΈΡΡΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΡΠ»ΡΠΊΠ°Ρ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ°Ρ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΡΠΎΠ³ΠΎ, Π³Π΄Π΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π―ΡΠ»ΡΠΊΠΈ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎ ΡΠ΅ΡΠ΅Π· Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ΅ΡΠ΅Π· Π²ΠΈΠ΄ΠΆΠ΅Ρ Button
ΠΠΈΠ΄ΠΆΠ΅ΡΡ Button Π½ΡΠΆΠ½Ρ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΊΠ»ΠΈΠΊΠ°Π±Π΅Π»ΡΠ½ΡΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π²ΡΠ·ΡΠ²Π°Π»Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ ΡΡΠΎΠΊΠ°, Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΎ, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ. Π ΠΏΠΎΠΊΠ° Π·Π°ΠΉΠΌΠ΅ΠΌΡΡ ΡΡΠΈΠ»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡ
ΠΎΠ΄ΡΡΠ² ΠΌΠ΅ΠΆΠ΄Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Button
ΠΈ Label
. ΠΠΎ ΡΡΡΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° β ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΡΡΠ»ΡΠΊ, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ½ΡΡΡ. ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠΈΠ»Π΅ΠΉ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΡΡΠ»ΡΠΊΠ° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ ΡΠΈΠ½ΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ ΠΈ ΠΆΠ΅Π»ΡΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ. Π’Π°ΠΊΠΆΠ΅ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΡΠΈΠ½Π° ΠΈ Π²ΡΡΠΎΡΠ° Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌΠΈ Π² 25
ΠΈ 5
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ½ΠΈΡ:
import tkinter as tk window = tk.Tk() button = tk.Button( text=»ΠΠ°ΠΆΠΌΠΈ Π½Π° ΠΌΠ΅Π½Ρ!», width=25, height=5, bg=»blue», fg=»yellow», ) button.pack() window.mainloop()
import tkinter as tk Β window = tk.Tk() Β button = tk.Button( Β Β Β Β text=»ΠΠ°ΠΆΠΌΠΈ Π½Π° ΠΌΠ΅Π½Ρ!», Β Β Β Β width=25, Β Β Β Β height=5, Β Β Β Β bg=»blue», Β Β Β Β fg=»yellow», ) Β button.pack() window.mainloop() |
ΠΠΎΡΠΎΠ²Π°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ΅ΠΏΠ»ΠΎΡ
ΠΎ! Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π²Π° Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Entry
ΠΈ Text
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠ±ΠΎΡΠ° Π²Π²ΠΎΠ΄Π½ΡΡ
Π΄Π°Π½Π½ΡΡ
ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΈΠ΄ΠΆΠ΅Ρ Entry β ΠΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅
Π ΡΠ»ΡΡΠ°ΡΡ
, ΠΊΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠΎΠ΄Π΅ Π°Π΄ΡΠ΅ΡΠ° ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π²ΠΈΠ΄ΠΆΠ΅Ρ Entry
. ΠΠ½ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π±ΠΎΠΊΡ, ΠΊΡΠ΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²Π΅ΡΡΠΈ ΡΠ΅ΠΊΡΡ.
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Entry
ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΈΡΠ΅ΠΌ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠ»ΡΠΊΠ° ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π΅Ρ Π²ΠΈΠ΄ΠΆΠ΅Ρ Ρ ΡΠΈΠ½ΠΈΠΌ ΡΠΎΠ½ΠΎΠΌ ΠΈ ΠΆΠ΅Π»ΡΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ Π΄Π»ΠΈΠ½ΠΎΠΉ Π² 50
ΡΠ΅ΠΊΡΡΠΎΠ²ΡΡ
ΡΠ½ΠΈΡ:
entry = tk.Entry(fg=»yellow», bg=»blue», width=50)
entry = tk.Entry(fg=»yellow», bg=»blue», width=50) |
Π ΡΠ»ΡΡΠ°Π΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ (Entry) ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ΅Π½ Π½Π΅ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΡΠΈΠ»Ρ, Π° ΡΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΡΠΈ Π²Ρ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΡΡ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ (Entry):
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΡΠ΅Π·
.get()
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΡΠ΅Π·
.delete()
- ΠΡΡΠ°Π²ΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΡΠ΅Π·
.insert()
ΠΠ»Ρ Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΡΠ°Π±ΠΎΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² Entry
ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΈ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²Π²Π΅ΡΡΠΈ Π² Π½Π΅Π³ΠΎ ΡΠ΅ΠΊΡΡ. ΠΡΠΊΡΠΎΠΉΡΠ΅ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΡ Python ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. Π‘Π½Π°ΡΠ°Π»Π° ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ tkinter
ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ:
>>> import tkinter as tk >>> window = tk.Tk()
>>> import tkinter as tk >>> window = tk.Tk() |
Π’Π΅ΠΏΠ΅ΡΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Label
ΠΈ Entry
:
>>> label = tk.Label(text=»ΠΠΌΡ») >>> entry = tk.Entry()
>>> label = tk.Label(text=»ΠΠΌΡ») >>> entry = tk.Entry() |
ΠΠ΄Π΅ΡΡ ΡΡΠ»ΡΠΊ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ, ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ Entry
. ΠΠ΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ Π²Π²ΠΎΠ΄ΠΈΠΌΡΡ
Π΄Π°Π½Π½ΡΡ
, ΡΡΠΎ ΠΏΡΠΎΡΡΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°, ΡΡΠΎ Π²Π²Π΅ΡΡΠΈ Π½ΡΠΆΠ½ΠΎ Β«ΠΠΌΡΒ». ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΡΡΠ°Π½ΡΡ Π²ΠΈΠ΄ΠΈΠΌΡΠΌΠΈ Π½Π° ΠΎΠΊΠ½Π΅ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° .pack()
Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ
:
>>> label.pack() >>> entry.pack()
>>> label.pack() >>> entry.pack() |
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π² ΠΎΠΊΠ½Π΅, Π²ΠΈΠ΄ΠΆΠ΅Ρ ΡΡΠ»ΡΠΊΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅Π½ΡΡΠΈΡΡΠ΅Ρ Π½Π°Π΄ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ. ΠΡΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΊΠΈ pack, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π°Ρ .
ΠΠ° ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ ΠΌΡ Π²Π²Π΅Π»ΠΈ ΡΠ΅ΠΊΡΡ Β«ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²Β»:
Π’Π΅ΠΏΠ΅ΡΡ Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΒ Π΅ΡΡΡ ΡΠ΅ΠΊΡΡ, ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π΅ΡΠ΅ Π½Π΅ Π±ΡΠ» ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½ Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠ° ΠΈ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΡ Π΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ name
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ .get()
:
>>> name = entry.get() >>> name ‘ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²’
>>> name = entry.get() >>> name ‘ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²’ |
Π’Π΅ΠΊΡΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ, Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ .delete()
. ΠΠ°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅Π»ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΈ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Python, ΠΊΠ°ΠΊΠΎΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π²ΠΎ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ΅ ΠΊΠΎΠ΄Π° Π½ΠΈΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄ .delete(0)
ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ:
Π’Π΅ΠΏΠ΅ΡΡ Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ ΠΎΡΡΠ°Π»ΡΡ ΡΠ΅ΠΊΡΡ "Π²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²"
:
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΊΠ°ΠΊ ΠΈ ΡΡΡΠΎΠΊΠΈ Π² Python, ΡΠ΅ΠΊΡΡ Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΡΠ΅ΡΡΡ,Β ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Ρ 0
.
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π²ΡΠΎΡΠΎΠΉ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² .delete()
, ΡΠΊΠ°Π·Π°Π² ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄ ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠ΅ΡΠ²ΡΠ΅ ΡΠ΅ΡΡΡΠ΅ Π±ΡΠΊΠ²Ρ ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ:
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π»ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ΠΊΡΡ "ΠΠ²Π°Π½ΠΎΠ²"
:
ΠΠ΅ΡΠΎΠ΄ .delete()
ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ ΡΡΡΠΎΠΊ slice()
Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΈΠ· ΡΡΡΠΎΠΊΠΈ. ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π½Π°ΡΠ°Π»ΡΠ½ΡΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ, ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π³Π΄Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ.
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΈΠ· ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° .delete()
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ° tk.END
:
>>> entry.delete(0, tk.END)
>>> entry.delete(0, tk.END) |
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΡΡΠ°Π»ΡΡ ΠΏΡΡΡΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ Π±ΠΎΠΊΡ:
Β
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΠΊΡΡ Π² Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° .insert()
:
>>> entry.insert(0, «ΠΠ²Π°Π½ΠΎΠ²»)
>>> entry.insert(0, «ΠΠ²Π°Π½ΠΎΠ²») |
Π’Π΅ΠΏΠ΅ΡΡ ΠΎΠΊΠ½ΠΎ ΡΡΠ°Π»ΠΎ ΡΠ°ΠΊΠΈΠΌ:
Β
ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ .insert()
, ΠΊΡΠ΄Π° Π²ΡΡΠ°Π²ΠΈΡΡ ΡΠ΅ΠΊΡΡ. ΠΡΠ»ΠΈ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π½Π΅Ρ ΡΠ΅ΠΊΡΡΠ°, Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΊΡΡ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΅Π³Π΄Π° Π²ΡΡΠ°Π²Π»ΡΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°, ΠΈ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ, ΠΊΠ°ΠΊΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°.
Π ΠΏΡΠΈΠΌΠ΅ΡΡ, ΠΏΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ .insert()
Ρ ΠΏΠ΅ΡΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ 100
, Π° Π½Π΅ 0
, ΠΊΠ°ΠΊ Π±ΡΠ»ΠΎ ΡΠ΄Π΅Π»Π°Π½ΠΎ Π²ΡΡΠ΅, Π²ΡΠ²ΠΎΠ΄ Π±ΡΠ΄Π΅Ρ ΡΠ΅ΠΌ ΠΆΠ΅.
Π ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΡΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ΅ΠΊΡΡ, ΡΠΎΠ³Π΄Π° .insert()
Π²ΡΡΠ°Π²ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΊΡΡ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΈ ΡΠ΄Π²ΠΈΠ½Π΅Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΉ ΡΠ΅ΠΊΡΡ Π²ΠΏΡΠ°Π²ΠΎ:
>>> entry.insert(0, «ΠΠ²Π°Π½ «)
>>> entry.insert(0, «ΠΠ²Π°Π½ «) |
Π Π²ΠΈΠ΄ΠΆΠ΅ΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠΌ ΡΠ΅ΠΏΠ΅ΡΡ Π·Π½Π°ΡΠΈΡΡΡ "ΠΠ²Π°Π½ ΠΠ²Π°Π½ΠΎΠ²"
:
ΠΠΈΠ΄ΠΆΠ΅ΡΡ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠ»Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ΅ΠΊΡΡΠ° ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΎΠ½ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΡΠ΅ΠΊΡΡΠ°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ. ΠΠ»Ρ ΡΠ°ΠΊΠΈΡ
ΡΠ»ΡΡΠ°Π΅Π² Π»ΡΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Text
.
ΠΠΈΠ΄ΠΆΠ΅Ρ Text β Π²Π²ΠΎΠ΄ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° Π² Tkinter
ΠΠΈΠ΄ΠΆΠ΅ΡΡ Text
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ°, ΠΊΠ°ΠΊ ΠΈ Π²ΠΈΠ΄ΠΆΠ΅ΡΡ Entry
. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Text
ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΡΠ΅ΠΊ ΡΠ΅ΠΊΡΡΠ°. Π‘ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠΌ Text
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠΎΠΆΠ΅Ρ Π²Π²ΠΎΠ΄ΠΈΡΡ ΡΠ΅Π»ΡΠ΅ ΠΏΠ°ΡΠ°Π³ΡΠ°ΡΡ ΠΈΠ»ΠΈ ΡΡΡΠ°Π½ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ°. ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Entry
, Π½Π°Π΄ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Text
ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΠΈ ΡΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ:
- ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄
.get()
- Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄
.delete()
- ΠΡΡΠ°Π²ΠΊΠ° ΡΠ΅ΠΊΡΡΠ° ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄
.insert()
ΠΠ΅ΡΠΌΠΎΡΡΡ Π½Π° ΡΠΎ, ΡΡΠΎ Π½Π°Π·Π²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Ρ ΡΠ΅ΠΌΠΈ, ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² Entry
, ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·Π»ΠΈΡΠ΅Π½. Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Text ΠΈ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π΄Π΅Π»Π΅, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ.
ΠΠ° Π·Π°ΠΌΠ΅ΡΠΊΡ: Π£ Π²Π°Ρ Π²ΡΠ΅ Π΅ΡΠ΅ ΠΎΡΠΊΡΡΡΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ? ΠΡΠ»ΠΈ ΡΡΠΎ ΡΠ°ΠΊ, ΡΠΎΠ³Π΄Π° Π·Π°ΠΊΡΠΎΠΉΡΠ΅ Π΅Π³ΠΎ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π²ΡΡΡΠ½ΡΡ, ΠΏΡΠΎΡΡΠΎ Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ Β«ΠΠ°ΠΊΡΡΡΡΒ».
Π ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ Python Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΠΎΠ΅ ΠΏΡΡΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Π° Π²Π½ΡΡΡΠΈ Π½Π΅Π΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° .pack()
ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ:
>>> import tkinter as tk >>> window = tk.Tk() >>> text_box = tk.Text() >>> text_box.pack()
>>> import tkinter as tk >>> window = tk.Tk() >>> text_box = tk.Text() >>> text_box.pack() |
ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ Π±ΠΎΠΊΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Entry
. Π‘ΠΎΠ·Π΄Π°Π½Π½ΠΎΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ΄Π° Π²ΡΡΠ΅ ΠΎΠΊΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ Π±ΠΎΠΊΡΠ° Π½Π°ΠΆΠΌΠΈΡΠ΅ Π½Π° Π»ΡΠ±ΡΡ ΡΠΎΡΠΊΡ Π²Π½ΡΡΡΠΈ ΠΎΠΊΠ½Π°. ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΡΠ»ΠΎΠ²ΠΎ "Hello"
. ΠΠ°ΠΆΠΌΠΈΡΠ΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΠ΅ ΠΊΠ½ΠΎΠΏΠΊΡ Enter, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ Π²Π²Π΅Π΄ΠΈΡΠ΅ Π½Π° Π²ΡΠΎΡΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ»ΠΎΠ²ΠΎ "World"
. ΠΠΊΠ½ΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
ΠΠ°ΠΊ ΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ Entry
, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΊΡΡ ΠΈΡ
Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Text
Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° .get()
. ΠΠ΄Π½Π°ΠΊΠΎ, Π²ΡΠ·ΠΎΠ² .get()
Π±Π΅Π· Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ Ρ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΠΊΡΡΠ° Entry
. ΠΠΎΡΠ²ΠΈΡΡΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ TypeError:
>>> text_box.get() Traceback (most recent call last): File «<pyshell#4>», line 1, in <module> text_box.get() TypeError: get() missing 1 required positional argument: ‘index1’
>>> text_box.get() Traceback (most recent call last): Β Β File «<pyshell#4>», line 1, in <module> Β Β Β Β text_box.get() TypeError: get() missing 1 required positional argument: ‘index1’ |
ΠΠ΅ΡΠΎΠ΄ .get()
Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅ΡΠ° Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ Ρ
ΠΎΡΡ Π±Ρ ΠΎΠ΄ΠΈ
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Python
ΠΠ½ΠΎΠ³ΠΈΠΌ ΠΈΠ· Π½Π°Ρ Π·Π½Π°ΠΊΠΎΠΌΠ° ΡΠΈΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΎΠΊΠ°Π·ΡΠ²Π°Π»ΡΡ Π·Π°Π²Π°Π»Π΅Π½ ΡΠΎΠ½Π½Π°ΠΌΠΈ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ². Π’ΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π»ΠΈ Π±ΠΎΠ»ΡΡΠΎΠΉ zip-Π°ΡΡ ΠΈΠ², ΡΠΏΡΡΡΡ ΠΌΠ³Π½ΠΎΠ²Π΅Π½ΠΈΠ΅ β ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΠ²ΡΡΠ΄Ρ Π² ΡΡΠΎΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π²ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠΊΡ Ρ Π²Π°ΠΆΠ½ΡΠΌΠΈ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ. ΠΠ°Π²Π΅ΡΠ½ΡΠΊΠ° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΎΡΡ ΠΌΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΊΡΡΠ½ΠΎ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΡ ΡΠ²Π°Π»ΠΊΡ Π²ΡΡΡΠ½ΡΡ? Π§ΡΠΎΠ±Ρ ΠΎΠ±Π»Π΅Π³ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΠΌΡ ΡΠ΅ΠΉΡΠ°Ρ ΠΏΠΎΠ³ΡΡΠ·ΠΈΠΌΡΡ Π² Β«ΡΠΌΠ½ΡΡΒ» ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ Python.
Β«Π Π°Π±ΠΎΡΠ°ΠΉ ΡΠΌΠ½Π΅Π΅, Π° Π½Π΅ ΡΡΠ΅ΡΠ΄Π½Π΅Π΅Β». ΠΠ°ΡΠ» ΠΠ°ΡΠΊΡ
ΠΡΠ°ΠΊ, ΠΏΡΠΈΡΡΡΠΏΠΈΠΌ, Π²ΠΎΠΎΡΡΠΆΠΈΠ²ΡΠΈΡΡ Python Π²Π΅ΡΡΠΈΠΈ 3.4 ΠΈΠ»ΠΈ Π²ΡΡΠ΅. Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠΉΠ΄Π΅ΠΌΡΡ ΠΏΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ OS, Π° ΠΏΠΎ Ρ ΠΎΠ΄Ρ Π΄Π΅Π»Π° ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠΌΡΡ Π΅ΡΠ΅ Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ. ΠΡΡ, ΡΡΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π² Python Β«Ρ ΠΊΠΎΡΠΎΠ±ΠΊΠΈΒ», ΡΠ°ΠΊ ΡΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π΅ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ.
ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΠ°ΠΏΠΊΡ ManageFiles
, Π° Π²Π½ΡΡΡΠΈ Π½Π΅Π΅ Π΅ΡΠ΅ ΠΎΠ΄Π½Ρ β RandomFiles
. ΠΠ΅ΡΠ΅Π²ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΡΠ΅ΠΏΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
ManageFiles/ | |_RandomFiles/
Π§ΡΠΎΠ±Ρ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΌΡ ΡΠ³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΠΌ ΠΈΡ
ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ RandomFiles
. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ°ΠΉΠ» create_random_files.py
Π² ΠΏΠ°ΠΏΠΊΠ΅ ManageFiles
. ΠΠΎΡ ΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡΡ:
ManageFiles/ | |_ create_random_files.py |_RandomFiles/
ΠΠΎΡΠΎΠ²ΠΎ? Π’Π΅ΠΏΠ΅ΡΡ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ Π² ΡΠ°ΠΉΠ» ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄, ΠΈ ΠΏΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ Π΅Π³ΠΎ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ:
import os from pathlib import Path import random list_of_extensions = ['.rst', '.txt', '.md', '.docx', '.odt', '.html', '.ppt', '.doc'] # ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ RandomFiles os.chdir('./RandomFiles') for item in list_of_extensions: # ΡΠΎΠ·Π΄Π°ΡΡ 20 ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ for num in range(20): # ΠΏΡΡΡΡ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΎ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π° ΠΎΡ 1 Π΄ΠΎ 50 file_name = random.randint(1, 50) file_to_create = str(file_name) + item Path(file_to_create).touch()
ΠΠ°ΡΠΈΠ½Π°Ρ Ρ Python 3.4 ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠ»ΠΈ pathlib, Π½Π°ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΡΡ Π²ΠΎΠ»ΡΠ΅Π±Π½ΡΡ ΠΏΠ°Π»ΠΎΡΠΊΡ. Π’Π°ΠΊΠΆΠ΅ ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ random
Π΄Π»Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠΈ ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π», Π½ΠΎ Π΅Π΅ ΠΌΡ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π² Π΄Π΅ΠΉΡΡΠ²ΠΈΠΈ ΡΡΡΡ Π½ΠΈΠΆΠ΅.
Π‘ΠΏΠ΅ΡΠ²Π° ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠ΄Π° ΡΠ²ΠΎΠΈ Π²Π°ΡΠΈΠ°Π½ΡΡ.
ΠΠ°Π»Π΅Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ΠΈΠΌ Π² ΠΏΠ°ΠΏΠΊΡ RandomFiles
ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΡΠΈΠΊΠ». Π Π½Π΅ΠΌ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌ: Π²ΠΎΠ·ΡΠΌΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ list_of_extensions
ΠΈ ΡΠ΄Π΅Π»Π°ΠΉ Ρ Π½ΠΈΠΌ ΠΊΠΎΠ΅-ΡΡΠΎ Π²ΠΎ Π²Π½ΡΡΡΠ΅Π½Π½Π΅ΠΌ ΡΠΈΠΊΠ»Π΅ 20 ΡΠ°Π·.
Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡΠ»ΠΎ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ random
. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Π΅Π΅ Π΄Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π° ΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ
ΡΠΈΡΠ΅Π» ΠΎΡ 1 Π΄ΠΎ 50. ΠΡΠΎ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΡΠ²ΠΎΡΡΠ΅ΡΠΊΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ±ΡΡΡΡΠ΅Π΅ Π΄Π°ΡΡ Π½Π°Π·Π²Π°Π½ΠΈΡ Π½Π°ΡΠΈΠΌ ΡΠ΅ΡΡΠΎΠ²ΡΠΌ ΡΠ°ΠΉΠ»Π°ΠΌ: ΠΊ ΡΠ³Π΅Π½Π΅ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΡΠΈΡΠ»Ρ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ 23.txt
ΠΈΠ»ΠΈ 14.txt
. Π ΡΠ°ΠΊ 20 ΡΠ°Π· Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ. Π ΠΈΡΠΎΠ³Π΅ ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π±Π΅ΡΠΏΠΎΡΡΠ΄ΠΎΠΊ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π΅Π³ΠΎ Π±ΡΠ»ΠΎ Π»Π΅Π½Ρ ΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡΡΠ½ΡΡ.
ΠΡΠ°ΠΊ, Π·Π°ΠΏΡΡΡΠΈΠΌ Π½Π°Ρ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ Ρ Π°ΠΎΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΅ΡΠΌΠΈΠ½Π°Π».
python create_random_files.py
ΠΠΎΠ·Π΄ΡΠ°Π²Π»ΡΡ, ΡΠ΅ΠΏΠ΅ΡΡ Ρ Π½Π°Ρ ΠΏΠΎΠ»Π½Π°Ρ ΠΏΠ°ΠΏΠΊΠ° Π½Π΅ΡΠ°Π·Π±Π΅ΡΠΈΡ ΠΈ. ΠΡΠ΄Π΅ΠΌ ΡΠ°ΡΠΏΡΡΡΠ²Π°ΡΡ.
Π ΡΠΎΠΉ ΠΆΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ, Π³Π΄Π΅ create_random_files.py
, ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ°ΠΉΠ» clean_up.py
ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ ΡΡΠ΄Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΊΠΎΠ΄.
Π‘ΠΏΠΎΡΠΎΠ± 1
import os import shutil import glob # ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠΊΡ RandomFiles os.chdir('./RandomFiles') # ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΏΠ°ΠΏΠΊΠ΅ RandomFiles files_to_group = [] for random_file in os.listdir('.'): files_to_group.append(random_file) # ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² file_extensions = [] for our_file in files_to_group: file_extensions.append(os.path.splitext(our_file)[1]) print(set(file_extensions)) file_types = set(file_extensions) for type in file_types: new_directory = type.replace(".", " ") os.mkdir(new_directory) # ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ for fname in glob.glob(f'*.{type[1:]}'): shutil.move(fname, new_directory)
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΅ΡΠ΅ Π΄Π²Π΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ: shutil ΠΈ glob. ΠΠ΅ΡΠ²Π°Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ, Π° Π²ΡΠΎΡΠ°Ρ β Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ. ΠΠΎ ΠΎΠ±ΠΎ Π²ΡΠ΅ΠΌ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ Π½Π΅Ρ Π½ΠΈ ΠΌΠ°Π»Π΅ΠΉΡΠ΅Π³ΠΎ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΎ ΡΠΎΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠ°ΠΉΠ»Ρ Π»Π΅ΠΆΠ°Ρ Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π²ΠΏΠΈΡΡΠ²Π°ΡΡ Π²ΡΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π²ΡΡΡΠ½ΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»Π΅ΡΡΠ½ΠΈΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ if ΠΈΠ»ΠΈ switch, ΠΌΡ ΠΆΠ΅Π»Π°Π΅ΠΌ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ°ΠΌΠ° ΠΏΡΠΎΡΠΌΠΎΡΡΠ΅Π»Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΠ»Π°, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΈΠΏΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅. Π§ΡΠΎ, Π΅ΡΠ»ΠΈ Π±Ρ ΡΠ°ΠΌ Π±ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Ρ Ρ Π΄Π΅ΡΡΡΠΊΠ°ΠΌΠΈ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈ? ΠΡ Π±Ρ ΡΡΠ°Π»ΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡ Π²ΡΡΡΠ½ΡΡ?
ΠΠΎΠ»ΡΡΠΈΠ² ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΌΡ Π·Π°Ρ ΠΎΠ΄ΠΈΠΌ Π² Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΊΠ», ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
os.path.splitext(our_file)[1]
Π‘Π΅ΠΉΡΠ°Ρ Π½Π°ΡΠ° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ our_file
Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΠΊΠ°ΠΊ-Π½ΠΈΠ±ΡΠ΄Ρ ΡΠ°ΠΊ: 5.docx
. ΠΠΎΠ³Π΄Π° ΡΠ°Π·Π΄Π΅Π»ΠΈΠΌ Π΅Π΅, ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
`('5', '.docx')`
ΠΡ Π²ΠΎΠ·ΡΠΌΠ΅ΠΌ ΠΎΡΡΡΠ΄Π° Π²ΡΠΎΡΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ [1], ΡΠΎ Π΅ΡΡΡ .docx
. ΠΠ΅Π΄Ρ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΡ [0] Ρ Π½Π°Ρ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ 5.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ
ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ Π² ΠΏΠ°ΠΏΠΊΠ΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΡ
ΡΡ. Π§ΡΠΎΠ±Ρ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ, ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌ Π΅Π³ΠΎ Π²ΠΎ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ. Π ΠΏΡΠΈΠΌΠ΅ΡΡ, Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠΎΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠΎΡΠ» ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ· .docx
, ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠ΅Π³ΠΎΡΡ ΡΠ½ΠΎΠ²Π° ΠΈ ΡΠ½ΠΎΠ²Π°, ΡΠΎ Π² set ΠΎΡΡΠ°Π»ΡΡ Π±Ρ Π²ΡΠ΅Π³ΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ.
# ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΈ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ file_types = set(file_extensions)
ΠΠ°ΠΌΠ΅ΡΠΈΠΌ, ΡΡΠΎ Π² ΡΠΏΠΈΡΠΊΠ΅ ΡΠΈΠΏΠΎΠ² ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ .
Π² Π½Π°ΡΠ°Π»Π΅. ΠΡΠ»ΠΈ ΠΌΡ Π½Π°Π·ΠΎΠ²Π΅ΠΌ ΡΠ°ΠΊ ΠΏΠ°ΠΏΠΊΠΈ Π½Π° UNIX-ΡΠΈΡΡΠ΅ΠΌΠ΅, ΡΠΎ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΡΠΊΡΡΡΡΠΌΠΈ, ΡΡΠΎ Π½Π΅ Π²Ρ
ΠΎΠ΄ΠΈΡ Π² Π½Π°ΡΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠΎΡΡΠΎΠΌΡ, ΠΈΡΠ΅ΡΠΈΡΡΡ ΠΏΠΎ Π½Π°ΡΠ΅ΠΌΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Ρ, ΠΌΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ ΡΠΎΡΠΊΡ Π½Π° ΠΏΡΡΡΡΡ ΡΡΡΠΎΠΊΡ. Π ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡ Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.
new_directory = type.replace(".", " ") # Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π±ΡΠ΄Π΅Ρ Π½Π°Π·ΡΠ²Π°ΡΡΡΡ "docx"
ΠΠΎ ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, Π½Π°ΠΌ Π²ΡΠ΅ Π΅ΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ .docx
.
for fname in glob.glob(f'*.{type[1:]}')
ΠΡΠΈΠΌ ΠΏΠΎΠΏΡΠΎΡΡΡ ΠΎΡΠ±ΠΈΡΠ°Π΅ΠΌ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΎΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .docx
. ΠΠ°ΠΌΠ΅ΡΡΡΠ΅, ΡΡΠΎ Π² f'*.{type[1:]}')
Π½Π΅Ρ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ².
Π‘ΠΈΠΌΠ²ΠΎΠ» ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ *
ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΠΈΡ Π»ΡΠ±ΠΎΠ΅ ΠΈΠΌΡ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΎ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° .docx
. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΌΡ ΡΠΆΠ΅ Π²ΠΊΠ»ΡΡΠΈΠ»ΠΈ ΡΠΎΡΠΊΡ Π² ΠΏΠΎΠΈΡΠΊ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ [1:], ΡΡΠΎ Π·Π½Π°ΡΠΈΡ Β«Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°Β». Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ docx
.
Π§ΡΠΎ Π΄Π°Π»ΡΡΠ΅? ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅ΠΌ Π»ΡΠ±ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Ρ Π΄Π°Π½Π½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΡΠ΅ΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.
shutil.move(fname, new_directory)
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΈΠΊΠ»Π΅ ΡΠΎΠ·Π΄Π°Π½Π° ΠΏΠ°ΠΏΠΊΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΏΠΎΠΏΠ°Π²ΡΠ΅Π³ΠΎΡΡ ΡΠ°ΠΉΠ»Π° Ρ Π΄Π°Π½Π½ΡΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ, Π²ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Ρ Π² Π½Π΅Π΅ ΠΆΠ΅. ΠΡΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠ³ΡΡΠΏΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ Π±Π΅Π· ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ².
Π‘ΠΏΠΎΡΠΎΠ± 2
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Ρ ΠΈΡΡΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΡ.
import os import shutil import glob # ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ Π² ΠΏΠ°ΠΏΠ°ΠΊΡ RandomFiles os.chdir('./RandomFiles') # Π΄ΠΎΠ±Π°Π²ΠΈΡΡ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ Π² ΡΠΏΠΈΡΠΎΠΊ all_files = [x for x in os.listdir('.')] # ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΡΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ file_types = set((os.path.splitext(f)[1] for f in all_files)) for ftype in file_types: new_directory = ftype.replace(".", '') os.mkdir(new_directory) for fname in glob.glob(f'*.{ftype[1:]}'): shutil.move(fname, new_directory)
ΠΠ±Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΡΡΠ°Π±ΠΎΡΠ°ΡΡ, ΠΈ Π²ΡΠ΅ Π²Π°ΡΠΈ ΡΠ°ΠΉΠ»Ρ Π±ΡΠ΄ΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΏΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ.
ManageFiles/ | |_create_random_files.py |_RandomFiles/ |_doc |_docx |_html |_md |_odt |_ppt
ΠΠΎΡ ΠΈ Π²ΡΠ΅. ΠΡΠ»ΠΈ Π²Π°ΠΌ ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ ΠΎΡΡΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π²Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΠ΅ Π½Π΅ΠΌΠ°Π»ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ π. ΠΠΎΠ΄ ΡΠΏΡΠ°ΠΆΠ½Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π·Π΄Π΅ΡΡ.
ΠΠΎΠ΄ΡΠ»Ρ OS ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
ΠΠΎΠ΄ΡΠ»Ρ OS ΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ
ΠΠΎΡΠ»Π΅Π΄Π½Π΅Π΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅: 02.05.2017
Π ΡΠ΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ os. Π₯ΠΎΡΡ ΠΎΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ, ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ· Π½ΠΈΡ :
mkdir(): ΡΠΎΠ·Π΄Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΏΠ°ΠΏΠΊΡ
rmdir(): ΡΠ΄Π°Π»ΡΠ΅Ρ ΠΏΠ°ΠΏΠΊΡ
rename(): ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ»
remove(): ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠ°ΠΉΠ»
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ
ΠΠ»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ mkdir(), Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΡΡ ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Π΅ΠΌΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅:
import os # ΠΏΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° os.mkdir("hello") # Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ os.mkdir("c://somedir") os.mkdir("c://somedir/hello")
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ rmdir(), Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΡΡ ΠΊ ΡΠ΄Π°Π»ΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅:
import os # ΠΏΡΡΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° os.rmdir("hello") # Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ os.rmdir("c://somedir/hello")
ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
ΠΠ»Ρ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ rename(source, target), ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΡΠΎΡΠΎΠΉ — ΠΏΡΡΡ ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ, Π° Π²ΡΠΎΡΠΎΠΉ — Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΡΠ΅ΠΉ ΠΌΠΎΠ³ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΊΠ°ΠΊ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠ΅, ΡΠ°ΠΊ ΠΈ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΡΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΡΡΡ Π² ΠΏΠ°ΠΏΠΊΠ΅ C://SomeDir/ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΡΠ°ΠΉΠ» somefile.txt. ΠΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π΅Π³ΠΎ Π² ΡΠ°ΠΉΠ» «hello.txt»:
import os os.rename("C://SomeDir/somefile.txt", "C://SomeDir/hello.txt")
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ remove(), Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ:
import os os.remove("C://SomeDir/hello.txt")
Π‘ΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»Π°
ΠΡΠ»ΠΈ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ», ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎ Python Π²ΡΠ±ΡΠΎΡΠΈΡ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ FileNotFoundError. ΠΠ»Ρ ΠΎΡΠ»ΠΎΠ²Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡ try…except. ΠΠ΄Π½Π°ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΆΠ΅ Π΄ΠΎ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΎΠ½ ΠΈΠ»ΠΈ Π½Π΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° os.path.exists(path). Π ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ ΠΏΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ:
filename = input("ΠΠ²Π΅Π΄ΠΈΡΠ΅ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ: ") if os.path.exists(filename): print("Π£ΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ") else: print("Π€Π°ΠΉΠ» Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ")
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Python
Π€Π°ΠΉΠ»Ρ Π²Β Python
ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ Π½Π°ΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΒ ΡΠ°ΠΉΠ»ΠΎΠΌ, Π΅Π³ΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΊΡΡΡΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ
open(file, mode=’r’, buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
ΠΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΈΒ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ.
Π Π΅ΠΆΠΈΠΌΡ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π°
r | ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π°Β ΡΡΠ΅Π½ΠΈΠ΅ |
w | ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π°Β Π·Π°ΠΏΠΈΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ΄Π°Π»ΡΠ΅ΡΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Π° Π½Π΅Β ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ |
x | ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π°Β Π·Π°ΠΏΠΈΡΡ, Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ»Π° Π½Π΅Β ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ. ΠΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ |
a | ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π°Β Π·Π°ΠΏΠΈΡΡ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ Π²Β ΠΊΠΎΠ½Π΅Ρ ΡΠ°ΠΉΠ»Π° |
b | ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π²Β Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ |
t | ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π²Β ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ |
+ | ΠΎΡΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π°Β ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΒ Π·Π°ΠΏΠΈΡΡ |
ΠΠ΅ΡΠΎΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΡΠ°ΠΉΠ»Π°
file.read([size])
Π‘ΡΠΈΡΡΠ²Π°Π΅Ρ ΠΈΒ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈΠ·Β ΡΠ°ΠΉΠ»Π°. ΠΡΠ»ΠΈ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ size ΡΠΊΠ°Π·Π°Π½, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½ΡΠΆΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²/Π±Π°ΠΉΡ.
file.write(content)
ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π²Β ΡΠ°ΠΉΠ»
file.tell()
ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»Π°
file.seek(position, [from_what=0])
ΠΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°Π΅Ρ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²Β Π·Π°Π΄Π°Π½Π½ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ. ΠΠ΅ΡΠ²ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΒ β ΡΡΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΠ·ΠΈΡΠΈΠΉ, Π½Π°Β ΠΊΠΎΡΠΎΡΠΎΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΡΠ»ΠΈ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΉ, ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ Π²ΠΏΡΠ°Π²ΠΎ, Π΅ΡΠ»ΠΈ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉΒ β Π²Π»Π΅Π²ΠΎ.
ΠΡΠΎΡΠΎΠΉ, Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΒ β ΡΡΠΎ from_what. Π‘Β ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΠΎΡΠΊΡΠ΄Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ: 0Β β ΠΎΡΒ Π½Π°ΡΠ°Π»Π° ΡΠ°ΠΉΠ»Π°, 1Β β ΠΎΡΒ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈΒ 2Β β ΠΎΡΒ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π°. ΠΠΎβΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΡΠΎΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ 0
file.close()
ΠΠ°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ». ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π²ΡΠ·ΡΠ²Π°ΠΉΡΠ΅ ΡΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΒ ΡΠ°ΠΉΠ»ΠΎΠΌ.
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Python
python-scripts.com
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Python
Π°Π²ΡΠΎΡ
9-12 ΠΌΠΈΠ½ΡΡ
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΠΈ Π²ΠΏΠΈΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠ°ΠΉΠ»Ρ Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅. Π ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ, Π²Ρ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅, ΡΡΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π² Python β ΡΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΠ°ΡΠ½Π΅ΠΌ ΠΆΠ΅.
ΠΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ
Python ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«openΒ», ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ test.txt ΠΈ Π²ΠΏΠΈΡΠΈΡΠ΅:
This is test file line 2 line 3 this line intentionally left lank |
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Β«ΠΎΡΠΊΡΡΡΡΒ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ:
handle = open(«test.txt») handle = open(r»C:\Users\mike\py101book\data\test.txt», «r») |
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ test.txt Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½ΠΈΠ΅Β». ΠΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°Π΅ΠΌ Π²Π΅ΡΡ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΎΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΎΡΠΊΡΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡΠΌΠΎΡΡΠΈΡ ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠΊΡΠΈΠΏΡ Π΄Π»Ρ text.txt. ΠΡΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ Π½Π°ΠΉΡΠΈ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ IOError. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΎΠ½ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Β«rΒ». ΠΡΠΎ Π·Π½Π°ΡΠΈΡ, ΡΡΠΎ ΠΌΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Python, ΡΡΠΎΠ±Ρ ΡΡΡΠΎΠΊΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π»Π°ΡΡ ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ:
>>> print(«C:\Users\mike\py101book\data\test.txt») C:\Users\mike\py101book\dataΒ Β Β Β est.txt >>> print(r»C:\Users\mike\py101book\data\test.txt») C:\Users\mike\py101book\data\test.txt |
ΠΠ°ΠΊ Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠ°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΡ ΠΊΠ°ΠΊ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΏΡΡΡ. ΠΠΎΡΠ΅ΠΌΡ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ? Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ βnβ ΠΈΠ»ΠΈ βtβ. Π Π½Π°ΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΠ΅Ρ βtβ (ΠΈΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π²ΠΊΠ»Π°Π΄ΠΊΠ°), ΡΠ°ΠΊ ΡΡΠΎ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΡΠ»ΡΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ Π²ΠΊΠ»Π°Π΄ΠΊΡ Π² Π½Π°Ρ ΠΏΡΡΡ ΠΈ ΠΏΠΎΡΡΠΈΡ Π΅Ρ Π΄Π»Ρ Π½Π°Ρ. ΠΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ Π±ΡΠΊΠ²Π° βrβ. ΠΠ°Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π° ΡΠΎ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½ΠΈΠ΅Β». ΠΠ½ΡΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π½ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅, Π½Π°ΠΊΠΎΠ½Π΅Ρ, ΠΏΡΠΎΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»!
ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π½ΠΈΠΆΠ΅ΠΈΠ·Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΊΡΠΈΠΏΡ, ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ ΡΠ°ΠΌ ΠΆΠ΅, Π³Π΄Π΅ ΠΈ ΡΠ°ΠΉΠ» test.txt.
handle = open(«test.txt», «r») data = handle.read() print(data) handle.close() |
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ°, ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΠΈ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠΈΡΠ°Π½ ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ° Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ data. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°. Π‘Π»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅Π³Π΄Π° Π·Π°ΠΊΡΡΠ²Π°ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ ΠΊΠΎΠ³Π΄Π° ΠΈ ΠΊΠ°ΠΊΠ°Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ. ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°Π½Π½ΡΡ Π±Π°Π³ΠΎΠ² Π² ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Python ΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ°Π·, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΏΠΈΡΠΊΠ΅ Python, ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠ°ΡΡΡΠΌ. ΠΠΎΡΠ»Π΅Π΄Π½ΡΡ ΠΎΠΏΡΠΈΡ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ°Π»Π°ΠΌΠΈ ΠΈ Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π½Π° ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π²ΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ°ΡΠΈΠΌ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
handle = open(«test.txt», «r») data = handle.readline() # read just one line print(data) handle.close() |
ΠΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΡΠ΅Π½Π° ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΡΠΎ Π½Π΅ ΠΎΡΠ΅Π½Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΡΠ°ΠΊ ΡΡΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ readlines() Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ΅:
handle = open(«test.txt», «r») data = handle.readlines() # read ALL the lines! print(data) handle.close() |
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΡΠΏΠΈΡΠΎΠΊ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ readlines() ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ. ΠΠ°Π»Π΅Π΅ ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΠΌΠ΅Π»ΠΊΠΈΠΌ ΡΠ°ΡΡΡΠΌ.
ΠΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠ°ΡΡΡΠΌ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ β ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ». Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΡΡΡΠΎΠΊΡ Π·Π° ΡΡΡΠΎΠΊΠΎΠΉ, ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΌΡ Π±ΡΠ΄Π΅ΠΌ ΡΠΈΡΠ°ΡΡ ΠΏΠΎ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΡ Π·Π° ΡΠ°Π·. Π Π½Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌ ΡΠΈΠΊΠ»:
handle = open(«test.txt», «r») for line in handle: Β Β Β Β print(line) handle.close() |
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Π² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ΅ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½ΠΈΠ΅Β», ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» Π΄Π»Ρ Π΅Π³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ. Π‘ΡΠΎΠΈΡ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠΈΠΊΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΊ Π»ΡΠ±ΡΠΌ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌ Python (ΡΡΡΠΎΠΊΠΈ, ΡΠΏΠΈΡΠΊΠΈ, Π·Π°ΠΏΡΡΡΠ΅, ΠΊΠ»ΡΡΠΈ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅, ΠΈ Π΄ΡΡΠ³ΠΈΠ΅). ΠΠ΅ΡΡΠΌΠ° ΠΏΡΠΎΡΡΠΎ, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ? ΠΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠ°ΡΡΡΠΌ:
handle = open(«test.txt», «r») while True: Β Β Β Β data = handle.read(1024) Β Β Β Β print(data) Β Β Β Β if not data: Β Β Β Β Β Β Β Β break |
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ Python Π² ΡΠΈΠΊΠ»Π΅, ΠΏΠΎΠΊΠ° ΡΠΈΡΠ°Π»ΠΈ ΡΠ°ΠΉΠ» ΠΏΠΎ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΡ Π·Π° ΡΠ°Π·. ΠΠ°ΠΊ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ, ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π² ΡΠ΅Π±Π΅ 1024 Π±Π°ΠΉΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», ΡΠ°ΠΊΠΎΠΉ ΠΊΠ°ΠΊ PDF.
ΠΠ°ΠΊ ΡΠΈΡΠ°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ (Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅) ΡΠ°ΠΉΠ»Ρ
ΠΡΠΎ ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ΅ ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ:
handle = open(«test.pdf», «rb») |
ΠΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠΏΠΎΡΠΎΠ± Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠ°ΠΉΠ»Ρ Π½Π° rb, ΡΡΠΎ Π·Π½Π°ΡΠΈΡ read-binaryy. Π‘ΡΠΎΠΈΡ ΠΎΡΠΌΠ΅ΡΠΈΡΡ ΡΠΎ, ΡΡΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΈΡΠ°ΡΡ Π±ΠΈΠ½Π°ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΊΠ°ΡΠ°Π΅ΡΠ΅ PDF ΡΠ°ΠΉΠ»Ρ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅, ΠΈΠ»ΠΈ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅ΡΠ΅ΡΡ ΠΈΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°ΠΌΠΈ.
ΠΠΈΡΠ΅ΠΌ Π² ΡΠ°ΠΉΠ»Π°Ρ Π² Python
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΠ»Π΅Π΄ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π²ΡΡΠ΅, ΡΠ΅ΠΆΠΈΠΌΡ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² Python ΡΡΠΎ βwβ ΠΈ βwbβ Π΄Π»Ρ write-mode ΠΈ write-binary-mode ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ.
ΠΠΠΠΠΠΠΠ: ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² βwβ ΠΈΠ»ΠΈ βwbβ Π² ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ Π΅Π³ΠΎ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΠ°ΠΉΠ», ΠΎΡΠΊΡΡΠ² Π΅Π³ΠΎ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΠ‘ Python.
handle = open(«output.txt», «w») handle.write(«This is a test!») handle.close() |
ΠΠΎΡ ΡΠ°ΠΊ Π²ΠΎΡ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ΅, ΡΡΠΎ ΠΌΡ Π·Π΄Π΅ΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ β ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΉΠ»Π° Π½Π° βwβ ΠΈ ΡΠΊΠ°Π·Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ΅, ΡΡΠΎΠ±Ρ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΡΠ΅ΠΊΡΡ Π² ΡΠ΅Π»Π΅ ΡΠ°ΠΉΠ»Π°. Π€Π°ΠΉΠ»ΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ writelines (Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ), ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ, Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ Π½Π° Π΄ΠΈΡΠΊ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Β«withΒ»
Π Python ΠΈΠΌΠ΅Π΅ΡΡΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ, ΠΏΡΠΈΠΌΠ΅Π½ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΡΠΏΡΠΎΡΡΠΈΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΏΠ΅ΡΠ°ΡΠΎΡ with ΡΠΎΠ·Π΄Π°Π΅Ρ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π² ΠΠ°ΠΉΡΠΎΠ½Π΅, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²Π°Ρ, ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ Π² Π½Π΅ΠΌ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
with open(«test.txt») as file_handler: Β Β Β Β for line in file_handler: Β Β Β Β Β Β Β Β print(line) |
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° with, Π½Π° ΠΏΠ΅ΡΠ²ΡΠΉ Π²Π·Π³Π»ΡΠ΄, ΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ»Π΅Π³ΠΊΠ° Π½Π΅ΠΎΠ±ΡΡΠ½ΡΠΌ, ΠΎΠ΄Π½Π°ΠΊΠΎ ΡΡΠΎ Π²ΠΎΠΏΡΠΎΡ Π½Π΅Π΄ΠΎΠ»Π³ΠΎΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΈ. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, Π²ΡΠ΅, ΡΡΠΎ ΠΌΡ Π΄Π΅Π»Π°Π΅ΠΌ Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΡΡΠΎ:
handle = open(«test.txt») |
ΠΠ΅Π½ΡΠ΅ΠΌ Π½Π° ΡΡΠΎ:
with open(«test.txt») as file_handler: |
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°\Π²ΡΠ²ΠΎΠ΄Π°, Π² ΠΏΡΠΈΠ²ΡΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π°. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ ΠΏΠΎΠΊΠΈΠ½Π΅ΡΠ΅ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π·Π°ΠΊΡΠΎΠ΅Ρ Π΅Π³ΠΎ, ΠΈ Π΅Π³ΠΎ ΡΠΆΠ΅ Π½Π΅Π»ΡΠ·Ρ Π±ΡΠ΄Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. Π Π΄Π°, Π²Ρ Π²ΡΠ΅ ΠΏΡΠΎΡΠ»ΠΈ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π»ΠΈΡΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ. ΠΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π²Π½Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΡ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠ΅ Π²ΡΡΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ with.
ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ½ΠΎΠ³Π΄Π°, Π² Ρ ΠΎΠ΄Π΅ ΡΠ°Π±ΠΎΡΡ, ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ»ΡΡΠ°ΡΡΡΡ. Π€Π°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π·Π°ΠΊΡΡΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΈΠΌ Π² Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΈΠ»ΠΈ ΠΈΠ·-Π·Π° Π½Π°Π»ΠΈΡΠΈΡ ΡΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΎΡΠΈΠ±ΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ²ΠΈΡΡΡΡ IOError. Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ Π²ΡΡΠ²ΠΈΡΡ ΡΡΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, ΠΈ Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° with. ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: Π΄Π°Π½Π½Π°ΡΒ ΠΈΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΠΌΠ° ΠΊ ΠΎΠ±ΠΎΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌ.
try: Β Β Β Β file_handler = open(«test.txt») Β Β Β Β for line in file_handler: Β Β Β Β Β Β Β Β print(line) except IOError: Β Β Β Β print(«An IOError has occurred!») finally: Β Β Β Β file_handler.close() |
Π ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅, ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ try/except. ΠΡΠ»ΠΈ ΠΎΡΠΈΠ±ΠΊΠ° Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ, ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΊΡΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ, ΡΡΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΠΈΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΠ°ΠΉΠ» Π·Π°ΠΊΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° finally. Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ Π²Π·Π³Π»ΡΠ½ΡΡΡ Π½Π° ΡΠΎ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΠΏΠΎΠ»ΡΠ·ΡΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ:
try: Β Β Β Β with open(«test.txt») as file_handler: Β Β Β Β for line in file_handler: Β Β Β Β Β Β Β Β print(line) except IOError: Β Β Β Β print(«An IOError has occurred!») |
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΠΌΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΡΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ with ΡΡΠ΄Π° ΠΆΠ΅, Π³Π΄Π΅ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Π Π°Π·Π½ΠΈΡΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ finally Π½Π΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½ΡΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ ΡΡΠ½ΠΊΡΠΈΡ Π΄Π»Ρ Π½Π°Ρ.
ΠΠΎΠ΄Π²Π΅Π΄Π΅ΠΌ ΠΈΡΠΎΠ³ΠΈ
Π‘ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ° Π²Ρ ΡΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π»Π΅Π³ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Python. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΠΈ Π²Π½ΠΎΡΠΈΡΡ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»Ρ Π΄Π²ΡΠΌΡ ΡΠΏΠΎΡΠΎΠ±Π°ΠΌΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Ρ Π»Π΅Π³ΠΊΠΎΡΡΡΡ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡΡΡ Π² Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΎΠΏΡΠΎΡΠ΅.
ΡΡΠ½ΠΊΡΠΈΡ open, ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ»Ρ Π² Python
Π€Π°ΠΉΠ»Ρ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ Π±Π°Π·ΠΎΠ²ΡΠΌ ΡΠΈΠΏΠ°ΠΌ Π΄Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ° Python. ΠΡΠΎ ΡΠ²ΡΠ·ΡΡΡΠΈΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΎΠ±Π»Π°ΡΡΡΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ°. Π€Π°ΠΉΠ»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ Β«ΠΊΠΎΠ½ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²Π°Π½ΠΈΡΒ» ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π»ΡΠ±ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Ρ Π΅Π΅ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π²ΡΠ³ΡΡΠ·ΠΊΠΎΠΉ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ. ΠΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ» Π² Python ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ.
ΠΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ»?
Π Π°Π±ΠΎΡΠ° Ρ ΡΡΠΈΠΌ ΡΠΈΠΏΠΎΠΌ Π΄Π°Π½Π½ΡΡ ΡΡΠ°ΡΡΡΠ΅Ρ ΡΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ open. ΠΠ½Π° ΡΠΎΠ·Π΄Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΉΠ»Π°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠ²ΡΠ·Ρ Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠΌ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ Π²ΡΠ·ΠΎΠ²ΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»Ρ Π² Python.
ΠΠ»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ² ΡΠ°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΡΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎΠΉ. ΠΠ½ΠΈ ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΠΏΡΠΈΠ²ΡΡΠ½ΡΡ ΡΡΡΠΎΠΊ, ΡΠΈΡΠ΅Π», ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ. ΠΠ»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ Π½ΠΈΠΌΠΈ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠ΅ΠΉ ΠΈΠ»ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΠΎΠ»ΡΡΠ°Ρ ΡΠ°ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π° Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, Π½ΠΎ Π΅ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ΅ΡΠΊΠΈΠ΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ output.flush(), ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅Ρ Π½Π° Π΄ΠΈΡΠΊ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π±ΡΡΠ΅ΡΡ. ΠΠΎ ΠΌΡ Π½Π°ΡΠ½Π΅ΠΌ ΠΈΠ·ΡΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ».
ΠΠ΅ΡΠ²ΡΠΌ Π΄Π΅Π»ΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ·Π²Π°ΡΡ open(), Π² ΡΠΊΠΎΠ±ΠΊΠ°Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΈΠΌΡ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°Π±ΠΎΡΡ Ρ Π½ΠΈΠΌ:
- r β ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΡΠ΅Π½ΠΈΡ;
- w β ΡΠ΅ΠΆΠΈΠΌ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»Ρ Π² Python;
- a β Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ°ΠΌΡΠΉ ΠΊΠΎΠ½Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°;
- b β ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π΄Π²ΠΎΠΈΡΠ½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²;
- Π·Π½Π°ΠΊ Β«+Β» ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
ΠΠ°ΠΆΠ½ΠΎΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ β Π²ΡΠ΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π»ΠΈΡΠ΅ΡΠ°Π»Ρ ΡΡΡΠΎΠΊ, ΡΠΎ Π΅ΡΡΡ Π² ΠΊΠ°Π²ΡΡΠΊΠ°Ρ ΠΈ ΡΠ΅ΡΠ΅Π· Π·Π°ΠΏΡΡΡΡ:
- >>>This_file = open(Β«C:\oddΒ», Β«wΒ») #ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ·ΠΎΠ²Π° ΡΡΠ½ΠΊΡΠΈΠΈ open Π² ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ΅Π΄Π΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ.
ΠΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ?
ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΅ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ. ΠΠ»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»Ρ Π² Python ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΠΌΠ΅ΡΡ Π²ΠΈΠ΄ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
Π‘ΠΏΠΈΡΠΎΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ:
- input.read() β Π²Π΅ΡΠ½Π΅Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π΅Π΄ΠΈΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ;
- input.readline() β ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΡΡ ΡΡΡΠΎΠΊΡ;
- input.readlines() β ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡΡ ΡΠ°ΠΉΠ» Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ ΡΡΡΠΎΠΊ;
- .write() β Π·Π°ΠΏΠΈΡΡ ΡΡΡΠΎΠΊ;
- .writelines() β Π·Π°ΠΏΠΈΡΡ Π²ΡΠ΅Ρ ΡΡΡΠΎΠΊ;
- .close() β Π²ΡΡΡΠ½ΡΡ Π·Π°ΠΊΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°ΡΡΡ Π²Π½ΡΡΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ², ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π° Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ². ΠΠΎΡΡΠΎΠΌΡ ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΏΡΠΈΡΡΡΠΏΠΈΡΡ ΠΊ Π΅Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅, Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ . ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ int() ΠΈΠ»ΠΈ list(). Π ΡΠ°ΠΊΠΆΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ close Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ. ΠΠΎ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ flush ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°ΡΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΠ‘ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π²ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π½ΠΈΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ². ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΡ Π±ΡΡΠ΅ΡΠΎΠ². ΠΠΎΠ³Π΄Π° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ» Π² Python, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π΅ ΡΡΠ°Π·Ρ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ Π½Π° Π΄ΠΈΡΠΊ, Π° ΡΠΎΠ»ΡΠΊΠΎ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π·Π°ΠΊΡΡΡΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠ°ΠΉΠ»
Π Π°Π·Π±Π΅ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅Π°Π½ΡΠ΅. ΠΠ΅ΡΠ²ΡΠΉ ΡΠ°Π³ β ΡΡΠΎ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² IDLE. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ:
- >>>ΠΏΠ΅ΡΠ²ΡΠΉ_Ρ = open(Β«ΠΏΠ΅ΡΠ²ΡΠΉ_ΡΠ°ΠΉΠ».txtΒ», Β«wΒ»)
- >>>ΠΏΠ΅ΡΠ²ΡΠΉ_Ρ.write(Β«ΠΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ\nΒ») #ΠΠ°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΡΡΡΠΎΠΊΠΈ
- 12
- >>>ΠΏΠ΅ΡΠ²ΡΠΉ_Ρ.write(Β«Π ΡΠ½ΠΎΠ²Π° Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ\nΒ»)
- 20
- >>>ΠΏΠ΅ΡΠ²ΡΠΉ_Ρ.close() #ΠΠ°ΠΊΡΡΠ²Π°Π΅ΠΌ;
- >>>ΠΏΠ΅ΡΠ²ΡΠΉ_Ρ = open(Β«ΠΏΠ΅ΡΠ²ΡΠΉ_ΡΠ°ΠΉΠ».txtΒ»)
- >>>ΠΏΠ΅ΡΠ²ΡΠΉ_Ρ.readline() #Π§ΠΈΡΠ°Π΅ΠΌ, ΡΠΎ, ΡΡΠΎ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ
- Β«ΠΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ\nΒ»
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΠΈΡΠΈ ΡΡΡΠΎΠΊΠΈ Π² ΡΠ°ΠΉΠ», Python 3.0 Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ Π²Π²Π΅Π΄Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ². Π ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ. Π ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΊΠΎΠ½ΡΠ° ΡΡΡΠΎΠΊΠΈ \n. ΠΠ΅Π· Π½Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ write Π·Π°ΠΏΠΈΡΠ΅Ρ Π²ΡΠ΅ ΡΠΏΠ»ΠΎΡΠ½ΡΠΌ ΡΠ΅ΠΊΡΡΠΎΠΌ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΡΠΊΠ°Π·Π°Π½ΠΈΡ \n Π² ΠΊΠΎΠ½ΡΠ΅, Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ read:
- >>>print(open(Β«ΠΏΠ΅ΡΠ²ΡΠΉ_ΡΠ°ΠΉΠ».txtΒ»).read())
- Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ;
- ΠΈ ΡΠ½ΠΎΠ²Π° Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ;
ΠΡΠΎΡΠΌΠΎΡΡΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΈΡΠ΅ΡΠ°ΡΠΈΠΈ:
- >>>for x in open(Β«ΠΏΠ΅ΡΠ²ΡΠΉ_ΡΠ°ΠΉΠ».txtΒ»):
- print(x, end = Β« Β»)
- Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ
- ΠΈ ΡΠ½ΠΎΠ²Π° Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ #ΠΠ°ΠΆΠ΄Π°Ρ Π½ΠΎΠ²Π°Ρ ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ Π²ΡΠ²Π΅Π΄Π΅Π½Π° Ρ ΠΎΡΡΡΡΠΏΠΎΠΌ.
Π‘ΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ·ΡΠΊΠ° Python Π² ΡΠ°ΠΉΠ»
Π ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π»ΡΠ±ΡΠ΅ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠ΅ Π²ΡΡΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ. Π§ΡΠΎΠ±Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ»Ρ Π² Python ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ, ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΡΡΠΎΠΊΡ. Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΌΠ΅ΡΠΎΠ΄Ρ Π½Π΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅.
- >>>ΠΏΡΠΈΠΌΠ΅Ρ_2 = open(Β«Π²ΡΠΎΡΠΎΠΉ_ΡΠ°ΠΉΠ».txtΒ», Β«wΒ»)
- >>>Π‘ΠΏΠΈΡΠΎΠΊ = [1,8, Β«rΒ»]
- >>>C, B, P = 34, 90, 56
- >>>Π‘ΡΡ = Β«ΠΠ°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²Β»
- >>>ΠΏΡΠΈΠΌΠ΅Ρ_2.write(str(Π‘ΠΏΠΈΡΠΎΠΊ) + Β«\nΒ»)
- 12
- >>>ΠΏΡΠΈΠΌΠ΅Ρ_2.write(Β«%s, %s, %s\nΒ» % (C, B, P))
- 11
- >>>ΠΏΡΠΈΠΌΠ΅Ρ_2.write(Π‘ΡΡ + Β«\nΒ»)
- 15
- >>>ΠΏΡΠΈΠΌΠ΅Ρ_2.close()
- >>>print(open(Β«Π²ΡΠΎΡΠΎΠΉ_ΡΠ°ΠΉΠ».txtΒ»).read())
- [1, 8, Β«rΒ»]
- 34, 90, 56
- Π½Π°Π±ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ½Π°ΡΠ°Π»Π° ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Β«Π²ΡΠΎΡΠΎΠΉ_ΡΠ°ΠΉΠ».txtΒ» Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ. ΠΡΡΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°ΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ°, ΡΡΡΠΎΠΊΠΈ ΠΈ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π». ΠΠ΅ΡΠ΅Π΄ Π·Π°ΠΏΠΈΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΡΡΡ Π² ΡΡΡΠΎΠΊΡ. Π ΠΊΠΎΠ½ΡΠ΅ ΡΠ°ΠΉΠ» ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ print ΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° read.
ΠΠΎ ΡΠΎΠΌΡ ΠΆΠ΅ ΠΏΡΠΈΠ½ΡΠΈΠΏΡ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π² Python Π·Π°ΠΏΠΈΡΡ ΡΠ»ΠΎΠ²Π°ΡΡ Π² ΡΠ°ΠΉΠ». ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΡΠ·Π²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ str ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π΅ΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡ. Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π²ΡΠ΅Π³ΠΎ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅, Π° ΠΈΠ·Π²Π»Π΅ΡΡ ΠΈΡ ΠΈ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡΡ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² ΡΠ»ΠΎΠ²Π°ΡΠΈ ΠΈΠ»ΠΈ ΡΠΈΡΠ»Π°.
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΡΡΠΎΠΊΠΈ Π² ΠΎΠ±ΡΠ΅ΠΊΡΡ ΡΠ·ΡΠΊΠ° ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ readline:
- >>>L = open(Β«Π²ΡΠΎΡΠΎΠΉ_ΡΠ°ΠΉΠ».txtΒ»)
- >>>F = L.readline()
- >>>F
- Β«34, 90, 56\nΒ»
- >>>Numbers = F.split(Β«,Β») #ΠΠΎ Π·Π°ΠΏΡΡΡΠΌ ΡΠ°Π·Π±ΠΈΡΡ Π½Π° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ
- >>>Numbers
- [Β«34Β», Β«90Β», Β«56\nΒ»]
- >>>Numbers = [int(x) for x in Numbers] #ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ
- >>>Numbers
- [34, 90, 56]
ΠΠ°ΠΏΠΈΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
Π ΡΠΎΡΡΠ°Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π²Ρ ΠΎΠ΄ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ pickle. ΠΡΠΎ ΡΡΠ΅Π·Π²ΡΡΠ°ΠΉΠ½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π½Π΅ Π΄ΠΎΠ²Π΅ΡΡΠ΅ΡΠ΅ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΡ ΡΠ°ΠΉΠ»Π°.
ΠΠΎΠ΄ΡΠ»Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠΈΠ»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΡΠ΅Ρ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅. Π§ΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° (ΡΠ»ΠΎΠ²Π°ΡΡ), Π΅Π³ΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ pickle:
- >>>Π‘Π»ΠΎΠ²Π°ΡΡ = {Β«Π²ΠΎΡΠ΅ΠΌΡΒ»: 8, Β«ΡΡΠΈΒ»: 3, Β«Π½ΠΎΠ»ΡΒ»: 0}
- >>>Π‘Π»ΠΎΠ²Π°ΡΡ
- {Β«Π²ΠΎΡΠ΅ΠΌΡΒ»: 8, Β«ΡΡΠΈΒ»: 3, Β«Π½ΠΎΠ»ΡΒ»: 0}
- >>>Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ = open(Β«ΠΌΠΎΠΉ_Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.pklΒ», Β«wbΒ»)
- >>>import pickle
- >>>pickle.dump(Π‘Π»ΠΎΠ²Π°ΡΡ, Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ)
- >>>Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.close()
- >>>Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ = open(Β«ΠΌΠΎΠΉ_Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.pklΒ», Β«rbΒ»)
- >>>Π = pickle.load(Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ)
- >>>Π
- {Β«Π²ΠΎΡΠ΅ΠΌΡΒ»: 8, Β«ΡΡΠΈΒ»: 3, Β«Π½ΠΎΠ»ΡΒ»: 0}
Π‘ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΌ Π½Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Π²ΡΡΡΠ½ΡΡ. ΠΠ½ ΡΠ°ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² ΡΡΡΠΎΠΊΡ Π±Π°ΠΉΡΠΎΠ² ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°Ρ open ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ wb β write binary.
ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ pickle, Β«ΠΊΠΎΠ½ΡΠ΅ΡΠ²ΠΈΡΠΎΠ²Π°ΡΡΒ» Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Python β JSON. ΠΠ°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ» ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ dump. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ΅ΡΠΈΠ°Π»ΠΈΠ·ΡΡΡΡΡ Π² ΡΡΡΠΎΠΊΡ JSON-ΡΠΎΡΠΌΠ°ΡΠ°.
- >>>import json
- >>>Π‘Π»ΠΎΠ²Π°ΡΡ = {Β«Π²ΠΎΡΠ΅ΠΌΡΒ»: 8, Β«ΡΡΠΈΒ»: 3, Β«Π½ΠΎΠ»ΡΒ»: 0}
- >>>with open(Β«ΠΌΠΎΠΉ_Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.jsonΒ», Β«wΒ») as ΠΌ_Π΄:
- >>>json.dump(Π‘Π»ΠΎΠ²Π°ΡΡ, ΠΌ_Π΄)
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΡΠΈΠΊΠ»ΠΎΠ² Π·Π°ΠΏΠΈΡΠΈ. Π§ΡΠΎΠ±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π²Π΅ΡΡ ΠΏΠ΅ΡΠ΅ΡΠ΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ΡΡ Π² ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠ΅Π°Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΠΌΠΈ help ΠΈΠ»ΠΈ dir. Π’Π°ΠΊΠΆΠ΅ Π² Π°ΡΡΠ΅Π½Π°Π»Π΅ ΡΠ·ΡΠΊΠ° Π΅ΡΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠ»Ρ, — ΡΠΎΠΊΠ΅ΡΡ, ΠΏΠΎΡΠΎΠΊΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ ΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°.
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python
Requests — ΡΡΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠ°Π»ΡΠ½Π°Ρ HTTP-Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π½Π° Python Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ΄Π½ΠΎ ΠΈΠ· Π΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ — Π·Π°Π³ΡΡΠ·ΠΊΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ URL-Π°Π΄ΡΠ΅ΡΠ° ΡΠ°ΠΉΠ»Π°.
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ°: ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠΊΠ°ΡΠ°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ pip, Π½Π°Π±ΡΠ°Π² ΡΠ»Π΅Π΄ΡΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΠΏΠΈΠΏΡΠ°
ΠΠ»ΠΈ ΡΠΊΠ°ΡΠ°ΠΉΡΠ΅ ΠΏΡΡΠΌΠΎ ΠΎΡΡΡΠ΄Π° ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π²ΡΡΡΠ½ΡΡ.
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠΎΡ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ ΠΊΠΎΠ΄Π°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ Π²ΡΡΠ΅, Π·Π°Π³ΡΡΠ·ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°. Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅ ΡΠ²ΠΎΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (ΠΏΠ°ΠΏΠΊΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ), ΠΈ Π²Ρ Π½Π°ΠΉΠ΄Π΅ΡΠ΅ ΡΡΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅:
ΠΡΠ΅, ΡΡΠΎ Π½Π°ΠΌ Π½ΡΠΆΠ½ΠΎ, ΡΡΠΎ URL-Π°Π΄ΡΠ΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. (ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΡ URL-Π°Π΄ΡΠ΅Ρ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ΅Π»ΠΊΠ½ΡΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ ΠΈ Π²ΡΠ±ΡΠ°Π² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ Β«ΠΡΠΎΡΠΌΠΎΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΒ».)
ΠΠ°Π³ΡΡΠ·ΠΈΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Ρ
Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡΠ²Π΅ΡΠ° HTTP ( r.content ) — ΡΡΠΎ Π½Π΅ ΡΡΠΎ ΠΈΠ½ΠΎΠ΅, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΡΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Π°. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, Π² ΡΠ»ΡΡΠ°Π΅ Π±ΠΎΠ»ΡΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΡΠ΄Π΅Ρ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. Π§ΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΌΡ Π²Π½ΠΎΡΠΈΠΌ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π½Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ:
r = requests.get (URL, ΠΏΠΎΡΠΎΠΊ = True)
Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° stream Π½Π° True ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ ΠΊ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² ΠΎΡΠ²Π΅ΡΠΎΠ², Π° ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΡΠ°Π½Π΅ΡΡΡ ΠΎΡΠΊΡΡΡΡΠΌ.ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ ΡΡΠΈΡΡΠ²Π°Π½ΠΈΡ Π²ΡΠ΅Π³ΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΡΠ°Π·Ρ Π² ΠΏΠ°ΠΌΡΡΡ Π΄Π»Ρ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΡΠ²Π΅ΡΠΎΠ². Π€ΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠ°Π³ΠΌΠ΅Π½Ρ Π±ΡΠ΄Π΅Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π·, ΠΏΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈΡΠ΅ΡΠ°ΡΠΈΡ r.iter_content .
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ:
|
ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½Ρ Π² Π·Π°Π³ΡΡΠ·ΠΊΠ΅ Π²ΡΠ΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠ»Π΅ΠΊΡΠΈΠΉ, Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π½Π° ΡΡΠΎΠΉ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΠ΅.ΠΡΠ΅ Π°ΡΡ ΠΈΠ²Ρ ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π·Π΄Π΅ΡΡ. ΠΡΠ°ΠΊ, ΠΌΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΎΡΠΈΡΠ°Π΅ΠΌ Π²Π΅Π±-ΡΡΡΠ°Π½ΠΈΡΡ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π²Π»Π΅ΡΡ Π²ΡΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ ΠΎΠ΄Π½ΠΎ Π·Π° Π΄ΡΡΠ³ΠΈΠΌ.
|
ΠΡΠ΅ΠΈΠΌΡΡΠ΅ΡΡΠ²Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π²Π΅Π±-ΡΠ°ΠΉΠ»ΠΎΠ²:
ΠΡΠΎΡ Π±Π»ΠΎΠ³ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠ» ΠΠΈΡ ΠΈΠ» ΠΡΠΌΠ°Ρ.ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ GeeksforGeeks, ΠΈ Π²Ρ Ρ ΠΎΡΠ΅Π»ΠΈ Π±Ρ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΠΉ Π²ΠΊΠ»Π°Π΄, Π²Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠ°ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ provide.geeksforgeeks.org ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΅Π΅ ΠΏΠΎ ΡΠ»Π΅ΠΊΡΡΠΎΠ½Π½ΠΎΠΉ ΠΏΠΎΡΡΠ΅ Π½Π° [email protected]. Π‘ΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠ°ΠΊ Π²Π°ΡΠ° ΡΡΠ°ΡΡΡ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π° Π³Π»Π°Π²Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅ GeeksforGeeks, ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΠΉΡΠ΅ Π΄ΡΡΠ³ΠΈΠΌ Π³ΠΈΠΊΠ°ΠΌ.
ΠΠΎΠΆΠ°Π»ΡΠΉΡΡΠ°, Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅ ΡΡΠΎ-ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠ΅, ΠΈΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠΎΠ΄Π΅Π»ΠΈΡΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ ΠΏΠΎ ΡΠ΅ΠΌΠ΅, ΠΎΠ±ΡΡΠΆΠ΄Π΅Π½Π½ΠΎΠΉ Π²ΡΡΠ΅.
ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΡΠΈΠΊ! Π£ΠΊΡΠ΅ΠΏΠΈΡΠ΅ ΡΠ²ΠΎΠΈ ΠΎΡΠ½ΠΎΠ²Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python Programming Foundation ΠΈ ΠΈΠ·ΡΡΠΈΡΠ΅ ΠΎΡΠ½ΠΎΠ²Ρ.
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΡΡΠ΅ΡΡ ΠΊ ΡΠΎΠ±Π΅ΡΠ΅Π΄ΠΎΠ²Π°Π½ΠΈΡ. Π Π°ΡΡΠΈΡΡΡΠ΅ ΡΠ²ΠΎΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΡΡΡΠ° Python DS .
ΠΠ»Π°Π²Π° 8 — Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ — Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Python 101 1.0
ΠΡΠ° Π³Π»Π°Π²Π° Π·Π½Π°ΠΊΠΎΠΌΠΈΡ Ρ ΡΠ΅ΠΌΠΎΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ»Ρ Π½Π° ΠΆΠ΅ΡΡΠΊΠΎΠΌ Π΄ΠΈΡΠΊΠ΅. ΠΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Python ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
ΠΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»
Python ΠΈΠΌΠ΅Π΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ open , ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΊΡΡΡΠΈΡ ΡΠ°ΠΉΠ»Π° Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ.Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ Β«test.txtΒ» ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ:
ΠΡΠΎ ΡΠ΅ΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΡΡΡΠΎΠΊΠ° 2 ΡΡΡΠΎΠΊΠ° 3 ΡΡΠ° ΡΡΡΠΎΠΊΠ° Π½Π°ΠΌΠ΅ΡΠ΅Π½Π½ΠΎ ΠΎΡΡΠ°Π²Π»Π΅Π½Π° ββΠΏΡΡΡΠΎΠΉ
ΠΠΎΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΠΈΡ , ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ open Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ:
handle = open ("test.txt") handle = open (r "C: \ Users \ mike \ py101book \ data \ test.txt", "r")
Π ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ test.txt ΠΎΡΠΊΡΠΎΠ΅ΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. ΠΡΠΎ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π»Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΎΡΠΊΡΡΡΡ .ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π½Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΠΎΡΠ΅Π»ΠΈ ΠΎΡΠΊΡΡΡΡ Π² ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. Python Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½Π°ΠΉΠ΄Π΅Ρ Π² ΠΏΠ°ΠΏΠΊΠ΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π·Π°ΠΏΡΡΠ΅Π½ ΡΠΊΡΠΈΠΏΡ, test.txt . ΠΡΠ»ΠΈ ΠΎΠ½ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ Π΅Π³ΠΎ, Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠΈΠ±ΠΊΡ IOError.
ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ, Π½ΠΎ Π²Ρ Π·Π°ΠΌΠ΅ΡΠΈΡΠ΅, ΡΡΠΎ ΠΎΠ½ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ Π±ΡΠΊΠ²Ρ Β«rΒ». ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ, ΡΡΠΎΠ±Ρ Python ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π» ΡΡΡΠΎΠΊΡ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ. ΠΠ°Π²Π°ΠΉΡΠ΅ Π²Π·Π³Π»ΡΠ½Π΅ΠΌ Π½Π° ΡΠ°Π·Π½ΠΈΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΎΠ±ΡΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ:
>>> print ("C: \ Users \ mike \ py101book \ data \ test.ΡΠ΅ΠΊΡΡ") C: \ Users \ mike \ py101book \ data est.txt >>> print (r "C: \ Users \ mike \ py101book \ data \ test.txt") C: \ Users \ mike \ py101book \ data \ test.txt
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΌΡ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π΅Π³ΠΎ ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΠΏΡΡΡ. ΠΠΎΡΠ΅ΠΌΡ ΡΠ°ΠΊ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ? Π§ΡΠΎ ΠΆ, ΠΊΠ°ΠΊ Π²Ρ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΏΠΎΠΌΠ½ΠΈΡΠ΅ ΠΈΠ· Π³Π»Π°Π²Ρ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ°ΠΌ, Π΅ΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΊΡΠ°Π½ΠΈΡΠΎΠ²Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Β«nΒ» ΠΈΠ»ΠΈ Β«tΒ». Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ Π±ΡΠΊΠ²Ρ Β«tΒ» (Ρ. Π. Π’Π°Π±ΡΠ»ΡΡΠΈΡ), ΠΏΠΎΡΡΠΎΠΌΡ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΡΠ»ΡΡΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°Π±ΡΠ»ΡΡΠΈΡ ΠΊ Π½Π°ΡΠ΅ΠΌΡ ΠΏΡΡΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠ°Π΅Ρ Π΅Π³ΠΎ Π·Π° Π½Π°Ρ.
ΠΡΠΎΡΠΎΠΉ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π²ΠΎ Π²ΡΠΎΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΠ°ΠΊΠΆΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ Π±ΡΠΊΠ²ΠΎΠΉ Β«rΒ». ΠΡΠΎ ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ open , ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΎΡΠΊΡΡΡΡ ΡΠ°ΠΉΠ» Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΡΡΠΎ ΠΈ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΡΠ²Π½ΡΠΉ. Π ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠ΅ΠΌ ΡΠ°ΠΉΠ»!
ΠΠΎΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΡΠ΅Π½Π°ΡΠΈΠΉ Python ΠΈ ΡΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ Π΅Π³ΠΎ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΌΠ΅ΡΡΠ΅, ΡΡΠΎ ΠΈ ΡΠ°ΠΉΠ» test.txt:
handle = open ("test.txt", "r") data = handle.read () ΠΏΠ΅ΡΠ°ΡΡ (Π΄Π°Π½Π½ΡΠ΅) handle.close ()
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎ, ΠΎΠ½ ΠΎΡΠΊΡΠΎΠ΅Ρ ΡΠ°ΠΉΠ» ΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π΅Ρ Π²Π΅ΡΡ ΡΠ°ΠΉΠ» ΠΊΠ°ΠΊ ΡΡΡΠΎΠΊΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ data .ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΏΠ΅ΡΠ°ΡΠ°Π΅ΠΌ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΈ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°. ΠΡ Π²ΡΠ΅Π³Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Ρ Π·Π°ΠΊΡΡΠ²Π°ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠΎΠ³Π΄Π° Π΄ΡΡΠ³Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π·Π°Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊ Π½Π΅ΠΌΡ Π΄ΠΎΡΡΡΠΏ. ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΠΏΠ°ΠΌΡΡΡ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡΡ ΡΡΡΠ°Π½Π½ΡΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ Π² Π²Π°ΡΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ . ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΊΠ°Π·Π°ΡΡ Python ΠΏΡΠΎΡΡΠΎ ΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Π·Π° ΡΠ°Π·, ΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ Π² ΡΠΏΠΈΡΠΎΠΊ Python ΠΈΠ»ΠΈ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠ°ΡΡΡΠΌ. ΠΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π΅Π½, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΈΠΌΠ΅Π΅ΡΠ΅ Π΄Π΅Π»ΠΎ Ρ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Π½Π΅ Ρ ΠΎΡΠΈΡΠ΅ ΡΠΈΡΠ°ΡΡ ΠΈΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΠ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
handle = open ("test.txt", "r") data = handle.readline () # ΡΠΈΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ ΠΏΠ΅ΡΠ°ΡΡ (Π΄Π°Π½Π½ΡΠ΅) handle.close ()
ΠΡΠ»ΠΈ Π²Ρ Π·Π°ΠΏΡΡΡΠΈΡΠ΅ ΡΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠ½ ΠΏΡΠΎΡΠΈΡΠ°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ²ΡΡ ΡΡΡΠΎΠΊΡ Π²Π°ΡΠ΅Π³ΠΎ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° ΠΈ ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°Π΅Ρ Π΅Π΅. ΠΡΠΎ Π½Π΅ ΡΠ»ΠΈΡΠΊΠΎΠΌ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡΡΠΎΠΌΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ readlines () Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠ°ΠΉΠ»Π°:
handle = open ("test.txt", "r") data = handle.readlines () # ΡΠΈΡΠ°ΡΡ ΠΠ‘Π ΡΡΡΠΎΠΊΠΈ! ΠΏΠ΅ΡΠ°ΡΡ (Π΄Π°Π½Π½ΡΠ΅) handle.close ()
ΠΠΎΡΠ»Π΅ Π·Π°ΠΏΡΡΠΊΠ° ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΡΠΏΠΈΡΠΎΠΊ Python, Π½Π°ΠΏΠ΅ΡΠ°ΡΠ°Π½Π½ΡΠΉ Π½Π° ΡΠΊΡΠ°Π½Π΅, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΡΠΎ, ΡΡΠΎ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ readlines : ΡΠΏΠΈΡΠΎΠΊ! ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌΠΈ ΡΠ°ΡΡΡΠΌΠΈ.
ΠΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ
Π‘Π°ΠΌΡΠΉ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎ ΡΠ°ΡΡΡΠΌ — ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ». Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ Π½Π°ΡΡΠΈΠΌΡΡ ΡΠΈΡΠ°ΡΡ ΡΠ°ΠΉΠ» ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ, Π° Π·Π°ΡΠ΅ΠΌ Π½Π°ΡΡΠΈΠΌΡΡ ΡΠΈΡΠ°ΡΡ Π΅Π³ΠΎ ΠΏΠΎ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΡ Π·Π° ΡΠ°Π·. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠΊΠ» Π΄Π»Ρ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅:
handle = open ("test.txt", "r") Π΄Π»Ρ Π»ΠΈΠ½ΠΈΠΈ Π² ΡΡΡΠΊΠ΅: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΡΠΎΠΊΠ°) handle.close ()
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΎΡΠΊΡΡΠ²Π°Π΅ΠΌ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π°, Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» Π΄Π»Ρ , ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π΅Π³ΠΎ.ΠΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°ΡΡ Π²ΡΠ΅ Π²ΠΈΠ΄Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Python (ΡΡΡΠΎΠΊΠΈ, ΡΠΏΠΈΡΠΊΠΈ, ΠΊΠΎΡΡΠ΅ΠΆΠΈ, ΠΊΠ»ΡΡΠΈ Π² ΡΠ»ΠΎΠ²Π°ΡΠ΅ ΠΈ Ρ. Π.). ΠΡΠΎ Π±ΡΠ»ΠΎ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ, ΠΏΡΠ°Π²Π΄Π°? Π ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ!
handle = open ("test.txt", "r") Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ True: data = handle.read (1024) ΠΏΠ΅ΡΠ°ΡΡ (Π΄Π°Π½Π½ΡΠ΅) Π΅ΡΠ»ΠΈ Π½Π΅ Π΄Π°Π½Π½ΡΠ΅: ΡΠ»ΠΎΠΌΠ°ΡΡ
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» Python while Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡΠ° ΡΠ°ΠΉΠ»Π° Π·Π° ΡΠ°Π·. ΠΠ°ΠΊ Π²Ρ, Π½Π°Π²Π΅ΡΠ½ΠΎΠ΅, Π·Π½Π°Π΅ΡΠ΅, ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ — ΡΡΠΎ 1024 Π±Π°ΠΉΡΠ° ΠΈΠ»ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°. Π ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ», Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ PDF.
ΠΠ°ΠΊ ΡΠΈΡΠ°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ»
Π§ΠΈΡΠ°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠΉ ΡΠ°ΠΉΠ» ΠΎΡΠ΅Π½Ρ ΠΏΡΠΎΡΡΠΎ. ΠΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΉΠ»Π°:
handle = open ("test.pdf", "rb")
ΠΡΠ°ΠΊ, Π½Π° ΡΡΠΎΡ ΡΠ°Π· ΠΌΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΉΠ»Π° Π½Π° rb , ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅-Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ . ΠΡ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠΈΡΠ°ΡΡ Π΄Π²ΠΎΠΈΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ PDF-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈΠ· ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈΠ»ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΠ Π½Π° ΠΠ.
ΠΠ°ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ² Π½Π° Python
ΠΡΠ»ΠΈ Π²Ρ ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΠΌ, Π²Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΡΠ»Π°Π³ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²: Β«wΒ» ΠΈ Β«wbΒ» Π΄Π»Ρ ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π·Π°ΠΏΠΈΡΠΈ.ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π΅ ΡΠ°ΠΊ Π»ΠΈ?
ΠΠΠΠΠΠΠΠ : ΠΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Β«wΒ» ΠΈΠ»ΠΈ Β«wbΒ», Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½ Π±Π΅Π· ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ! ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΠ°ΠΉΠ», ΠΏΡΠ΅ΠΆΠ΄Π΅ ΡΠ΅ΠΌ ΠΎΡΠΊΡΡΠ²Π°ΡΡ Π΅Π³ΠΎ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Python os . Π‘ΠΌ. Π Π°Π·Π΄Π΅Π» os.path.exists Π² ΠΠ»Π°Π²Π° 16 .
handle = open ("test.txt", "w") handle.write (Β«ΠΡΠΎ ΡΠ΅ΡΡ!Β») handle.close ()
ΠΡΠΎ Π±ΡΠ»ΠΎ Π»Π΅Π³ΠΊΠΎ! ΠΡΠ΅, ΡΡΠΎ ΠΌΡ Π·Π΄Π΅ΡΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΉΠ»Π° Π½Π° Β«wΒ» ΠΈ Π²ΡΠ·Π²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ write Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠ°ΠΉΠ»Π°, ΡΡΠΎΠ±Ρ Π·Π°ΠΏΠΈΡΠ°ΡΡ ΡΠ΅ΠΊΡΡ Π² ΡΠ°ΠΉΠ».Π£ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° ΡΠ°ΠΉΠ»Π° ΡΠ°ΠΊΠΆΠ΅ Π΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Writelines , ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π·Π°ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π½Π° Π΄ΠΈΡΠΊ ΠΏΠΎ ΠΏΠΎΡΡΠ΄ΠΊΡ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ with Operator
Python ΠΈΠΌΠ΅Π΅Ρ Π½Π΅Π±ΠΎΠ»ΡΡΡΡ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Ρ , ΠΊΠΎΡΠΎΡΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΡ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΠΏΠ΅ΡΠ°ΡΠΎΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΊ Π½Π°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π² Python, ΠΊΠΎΡΠΎΡΡΠΉ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΠΎΠ΅Ρ ΡΠ°ΠΉΠ» Π΄Π»Ρ Π²Π°Ρ, ΠΊΠΎΠ³Π΄Π° Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ. ΠΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
Ρ ΠΎΡΠΊΡΡΡΡΠΌ ("ΡΠ΅ΡΡ.txt ") ΠΊΠ°ΠΊ file_handler: Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π² file_handler: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΡΠΎΠΊΠ°)
Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΡΠ°Π½Π½ΡΠΉ, Π½ΠΎ Π²Ρ Π±ΡΡΡΡΠΎ Π΅Π³ΠΎ ΠΏΠΎΠΉΠΌΠ΅ΡΠ΅. Π ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΌΡ Π·Π°ΠΌΠ΅Π½ΡΠ΅ΠΌ:
handle = open ("test.txt")
Ρ ΡΡΠΈΠΌ:
Ρ open ("test.txt") Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ file_handler:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π²ΡΠ΅ ΠΎΠ±ΡΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΎΠ±ΡΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅, ΠΏΠΎΠΊΠ° Π²Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΠ΅ΡΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ Ρ Π±Π»ΠΎΠΊΠΎΠΌ ΠΊΠΎΠ΄Π° .ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ ΠΏΠΎΠΊΠΈΠ½Π΅ΡΠ΅ ΡΡΠΎΡ Π±Π»ΠΎΠΊ ΠΊΠΎΠ΄Π°, Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π° Π·Π°ΠΊΡΠΎΠ΅ΡΡΡ, ΠΈ Π²Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ°, Π²Ρ ΠΏΡΠΎΡΠΈΡΠ°Π»ΠΈ ΡΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ. ΠΠ°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΊΡΡΠ²Π°ΡΡ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ ΡΠ°ΠΉΠ»Π° ΡΠ²Π½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠΌ Π΄Π΅Π»Π°Π΅Ρ ΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ! ΠΠΎΡΠΌΠΎΡΡΠΈΡΠ΅, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π»ΠΈ Π²Ρ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² ΠΈΠ· ΡΡΠΎΠΉ Π³Π»Π°Π²Ρ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ Ρ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ .
ΠΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ
ΠΠ½ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΡΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ΠΏΡΠΈΡΡΠ½ΠΎΡΡΠΈ. Π€Π°ΠΉΠ» Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ Π΄ΡΡΠ³ΠΎΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΊΠ°ΠΊΠ°Ρ-ΡΠΎ ΠΎΡΠΈΠ±ΠΊΠ° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ.ΠΠΎΠ³Π΄Π° ΡΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ° IOError . Π ΡΡΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΎΠ±ΡΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΈ ΠΊΠ°ΠΊ ΠΎΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Ρ . ΠΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°: ΠΈΠ΄Π΅Ρ Π² ΠΎΠ±ΠΎΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Π°!
ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: file_handler = open ("test.txt") Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π² file_handler: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΡΠΎΠΊΠ°) ΠΊΡΠΎΠΌΠ΅ IOError: print (Β«ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°!Β») ΠΡ Π½Π°ΠΊΠΎΠ½Π΅Ρ ΡΠΎ: file_handler.close ()
Π ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΠΌ ΠΎΠ±ΡΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π²Π½ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ try / except .ΠΡΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΌΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ Π·Π°ΠΊΡΡΠ²Π°Π΅ΠΌ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° finally . Π’Π΅ΠΏΠ΅ΡΡ ΠΌΡ Π³ΠΎΡΠΎΠ²Ρ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°ΡΡ ΡΠΎ ΠΆΠ΅ ΡΠ°ΠΌΠΎΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Ρ :
.ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅: Ρ open ("test.txt") Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ file_handler: Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π² file_handler: ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΡΠΎΠΊΠ°) ΠΊΡΠΎΠΌΠ΅ IOError: print (Β«ΠΡΠΎΠΈΠ·ΠΎΡΠ»Π° ΠΎΡΠΈΠ±ΠΊΠ° Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π°!Β»)
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π΄ΠΎΠ³Π°Π΄Π°ΡΡΡΡ, ΠΌΡ ΠΏΡΠΎΡΡΠΎ ΠΎΠ±Π΅ΡΠ½ΡΠ»ΠΈ Π±Π»ΠΎΠΊΠΎΠΌ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅.Π Π°Π·Π½ΠΈΡΠ° Π·Π΄Π΅ΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ finally , ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π΄ΠΈΡΠΏΠ΅ΡΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΡΡΠΎ Π·Π° Π½Π°Ρ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ° ΡΡΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π·Π±ΠΈΡΠ°ΡΡΡΡ Π² ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Python. Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ°ΡΡΠΉ ΡΡΠΈΠ»Ρ ΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠΎ ΡΡΠΈΠ»Π΅ΠΌ . Π‘ΠΊΠΎΡΠ΅Π΅ Π²ΡΠ΅Π³ΠΎ, Π²Ρ Π²ΡΡΡΠ΅ΡΠΈΡΠ΅ ΠΎΠ±Π° ΡΡΠΈΠ»Ρ Π² Π΄ΠΈΠΊΠΎΠΉ ΠΏΡΠΈΡΠΎΠ΄Π΅. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π³Π»Π°Π²Π΅ ΠΌΡ ΡΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΠ΅ Ρ Python. ΠΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π³ΠΎΡΠΎΠ²ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.ΠΠ°Π²Π°ΠΉΡΠ΅ Π½Π°ΡΠ½Π΅ΠΌ!
Π Π°Π±ΠΎΡΠ° Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² Python
ΠΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Python 3.6
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ Π΄Π΅Π»Π°ΡΡ ΡΠ°ΠΊΠΈΠ΅ Π²Π΅ΡΠΈ, ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ΅Π½Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ .
Π ΡΡΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²Π΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Π² Python. ΠΠ°Π΄Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°ΡΡ Π²Π°ΠΌ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΈΠ· ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΡ Π²Π΅ΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΠΎΡΠ΅Π½Ρ Π±ΡΡΡΡΠΎ ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Python ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ.
Π Π΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ²
Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΡΠΉ ΠΏΡΠΎΡΠΌΠΎΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π·Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ. ΠΡΠΎ ΠΌΠΎΠ³Π»ΠΎ Π±ΡΡΡ ΠΏΠΎ Π»ΡΠ±ΠΎΠΌΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΠΏΡΠΈΡΠΈΠ½.
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡΠΎΠΉΡΠΈΡΡ ΠΏΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΠΌΠ΅Π½Π° Π²ΡΠ΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²:
## ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΠΠΠΠ«Π ΡΠ°ΠΉΠ» Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅
ΠΈΠΌΠΏΠΎΡΡ ΠΠ‘
## ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ "/" Π½Π° ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ Π²ΡΠ±ΠΎΡΡ
Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Π² os.walk ("/"):
ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ°ΠΉΠ»)
ΠΡΡ ΠΎΠ΄
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΅ΡΡΡ 3 ΡΠ°Π·Π½ΡΡ
ΡΠ°ΠΉΠ»Π°: ['test2.txt, 'test.txt', 'main.py']
>>> ΠΈΠΌΠΏΠΎΡΡ ΠΠ‘
>>> os.walk ("./")
<ΠΎΠ±Ρ
ΠΎΠ΄ ΠΎΠ±ΡΠ΅ΠΊΡΠ° Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ° Π½Π° 0x10457c7d8>
>>> Π΄Π»Ρ ΡΠ°ΠΉΠ»Π° Π² os.walk ("./"):
... ΡΠ°ΡΠΏΠ΅ΡΠ°ΡΠ°ΡΡ ΡΠ°ΠΉΠ»)
...
('./', [], ['test2.txt', 'test.txt', 'main.py'])
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°?
ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π±ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ Π²ΠΎΠΉΡΠΈ ΡΠ΄ΠΎΠ±Π½ΠΎ. ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΈ ΡΡΠΎ-ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π² Python.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΡ os.path.isfile ()
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ False
, Π΅ΡΠ»ΠΈ
ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈΠ»ΠΈ True
, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΉΠ».
>>> ΠΈΠΌΠΏΠΎΡΡ ΠΠ‘
>>> os.path.isfile ("/")
ΠΠΎΠΆΡ
>>> os.path.isfile ("./ main.py")
ΠΡΠ°Π²Π΄Π°
ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΡΡΡΠ΅ΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΡΡΠΎ-ΡΠΎ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅
ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ os.path.exists ()
, ΠΏΠ΅ΡΠ΅Π΄Π°Π² ΡΠ°ΠΉΠ» ΠΈΠ»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΊΠΎΡΠΎΡΡΠΉ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅
Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ:
>>> ΠΈΠΌΠΏΠΎΡΡ ΠΠ‘
>>> os.path.exists ("./ main.py")
ΠΡΠ°Π²Π΄Π°
>>> os.path.exists ("./ dud.py")
ΠΠΎΠΆΡ
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π² Python
ΠΠΎΠΏΡΡΡΠΈΠΌ, Π²Ρ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Ρ
ΠΎΡΠ΅Π»ΠΈ ΠΏΡΠΎΠΉΡΠΈ ΠΏΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Ρ
ΠΎΡΠ΅Π»ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ²ΠΎΠΉ
ΡΠ²ΠΎΡ. Π§ΡΠΎ ΠΆ, Π½Π΅ Π±ΠΎΠΉΡΠ΅ΡΡ, ΡΡΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ os.makedirs ()
.
, Π΅ΡΠ»ΠΈ Π½Π΅ os.path.exists ('my_dir'):
os.makedirs ('my_dir')
Π‘Π½Π°ΡΠ°Π»Π° ΠΌΡ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΌ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ my_dir
, Π΅ΡΠ»ΠΈ
Π΅Π³ΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΡΠΎΠ³Π΄Π° ΠΎΠ½ ΠΏΠΎΠΉΠ΄Π΅Ρ Π΄Π°Π»ΡΡΠ΅ ΠΈ Π²ΡΠ·ΠΎΠ²Π΅Ρ os.makedirs ('my_dir')
Π²
ΡΡΠΎΠ±Ρ ΡΠΎΠ·Π΄Π°ΡΡ Π΄Π»Ρ Π½Π°Ρ Π½Π°Ρ Π½ΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³.
Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π²ΡΠ·Π²Π°ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΡΠ»ΠΈ Π±Ρ Π²Ρ Π±ΡΠ»ΠΈ
ΡΠΎΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ, ΡΡΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π³Π΄Π΅-ΡΠΎ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ
ΠΈΠ½Π°ΡΠ΅, ΠΏΠ΅ΡΠ΅Π΄ Π²Π°ΡΠΈΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ os.makedirs ('my_dir')
Π²Ρ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ ΡΠ²ΠΈΠ΄Π΅ΡΡ OS ΠΡΠΈΠ±ΠΊΠ°
Π²ΡΠ±ΡΠΎΡΠ΅Π½ΠΎ.
ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎ Π±ΠΎΠ»ΡΡΠ΅ΠΉ ΡΠ°ΡΡΠΈ Ρ Π²Π°Ρ Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ΅ΡΠΎΠ΄, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Π²ΡΡΠ΅. ΠΡΠ»ΠΈ
Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅ Π±ΡΡΡ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΎΡΡΠΎΡΠΎΠΆΠ½ΡΠΌΠΈ ΠΈ ΡΠ»Π°Π²Π»ΠΈΠ²Π°ΡΡ Π»ΡΠ±ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, ΡΠΎΠ³Π΄Π° Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅
wrap Π²Ρ Π·Π²ΠΎΠ½ΠΈΡΠ΅ Π½Π° os.makedirs ('my_dir')
Π² ΠΏΠΎΠΏΡΡΠΊΠ΅ ... ΠΊΡΠΎΠΌΠ΅
, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
, Π΅ΡΠ»ΠΈ Π½Π΅ os.path.exists ('my_dir'):
ΠΏΡΡΠ°ΡΡΡΡ:
os.makedirs ('my_dir')
ΠΊΡΠΎΠΌΠ΅ OSError ΠΊΠ°ΠΊ e:
Π΅ΡΠ»ΠΈ e.errno! = errno.EEXIST:
ΠΏΠΎΠ΄Π½ΡΡΡ
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΡΠ»ΠΈ Π²Ρ Π½Π°ΡΠ»ΠΈ ΡΡΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ ΠΈΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½Π°Ρ ΠΏΠΎΠΌΠΎΡΡ, Π½Π΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ Π΄Π°ΠΉΡΠ΅ ΠΌΠ½Π΅ Π·Π½Π°ΡΡ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π² Π½ΠΈΠΆΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ ΠΌΠ½Π΅ @Elliot_f.
Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
Π― ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ Python, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ ΡΡΠΎ ΠΎΡΠ΅Π½Ρ Π³ΠΈΠ±ΠΊΠΈΠΉ ΡΠ·ΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΌΠ½Π΅ Π»Π΅Π³ΠΊΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ.ΠΡΠΎ ΡΠ°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΡΡΠ½ΠΊΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π² ΠΈΠ³ΡΡ Π²ΡΡΡΠΏΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ os
, subprocess
, fnmatch
ΠΈ pathlib
. Π‘Π»Π΅Π΄ΡΡΡΠΈΠ΅ Π½ΠΈΠΆΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡ, ΠΊΠ°ΠΊ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Ρ.
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ os.walk ()
ΠΠΎΠ΄ΡΠ»Ρ os
ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π΄Π»ΠΈΠ½Π½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ
— ΡΡΠΎ walk ()
, ΠΊΠΎΡΠΎΡΡΠΉ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅Ρ ΠΈΠΌΠ΅Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π² Π΄Π΅ΡΠ΅Π²Π΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ°ΡΡΡ ΠΏΠΎ Π΄Π΅ΡΠ΅Π²Ρ Π»ΠΈΠ±ΠΎ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·, Π»ΠΈΠ±ΠΎ ΡΠ½ΠΈΠ·Ρ Π²Π²Π΅ΡΡ
(Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΎΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ²Π΅ΡΡ
Ρ Π²Π½ΠΈΠ·).
os.walk ()
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠ· ΡΡΠ΅Ρ
ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ½ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ ΠΊΠΎΡΠ½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² ΠΈ ΡΠΏΠΈΡΠΎΠΊ ΠΈΠΌΠ΅Π½ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅. Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 1 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ΅Π³ΠΎ ΡΡΠ΅Ρ
ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°. ΠΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΈΠ½ΡΠ΅ΡΠΏΡΠ΅ΡΠ°ΡΠΎΡΠ°ΠΌΠΈ Python 2 ΠΈ 3.
ΠΠΈΡΡΠΈΠ½Π³ 1: ΠΠ±Ρ
ΠΎΠ΄ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ os.walk ()
ΠΈΠΌΠΏΠΎΡΡ ΠΠ‘
Π΄Π»Ρ root, dirs, ΡΠ°ΠΉΠ»ΠΎΠ² Π² os.Ρ
ΠΎΠ΄ΠΈΡΡ("."):
Π΄Π»Ρ ΠΈΠΌΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»Π° Π² ΡΠ°ΠΉΠ»Π°Ρ
:
ΠΏΠ΅ΡΠ°ΡΡ (ΠΈΠΌΡ ΡΠ°ΠΉΠ»Π°)
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΠΏΡΠΎΡΠ΅ΡΡ
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅ : Π₯ΠΎΡΡ ΡΡΠΎ Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, Π΅Π³ΠΎ Π½Π΅ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π°ΡΠ°ΠΊ ΠΏΡΡΠ΅ΠΌ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄.
ΠΠ°ΠΊ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠ°ΡΡΠ΅ ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π² Python, ΠΌΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΡΠ΅ΡΡΠ°
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΠΈ ΡΠΎΠ±ΡΠ°ΡΡ Π΅Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. Π‘ΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π°, ΠΊΠΎΡΠΎΡΡΡ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
ΠΡΠΈΠΌΠ΅Ρ 1: Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Π² ΡΠ΅ΠΊΡΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅
$ ls -p.| grep -v / $
ΠΠΎΠΌΠ°Π½Π΄Π° ls -p.
ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅Ρ ΡΠ°ΠΉΠ»Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ /
Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΡΠ°Π³Π΅. ΠΡΡ
ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΡΡΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ grep
, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΈΠ»ΡΡΡΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ ΠΌΠ΅ΡΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ.
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ -v / $
ΠΈΡΠΊΠ»ΡΡΠ°ΡΡ Π²ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°ΡΡΠΈΠ΅ΡΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Π΅ΠΌ /
. Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, /
— ΡΡΠΎ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΠΎΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ Π²ΡΠ΅ΠΌ ΡΡΡΠΎΠΊΠ°ΠΌ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΡΠΈΠΌΠ²ΠΎΠ» /
Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠΎΠ½ΡΠΎΠΌ ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ ΠΊΠ°ΠΊ /
.
ΠΠΎΠ΄ΡΠ»Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΡΠ΅ΡΡΠ°
ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ΅Π°Π»ΡΠ½ΡΠ΅ ΠΊΠ°Π½Π°Π»Ρ ΠΈ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π²ΡΠ²ΠΎΠ΄Π°, ΠΊΠ°ΠΊ Π²Ρ ΡΡΠΎ Π΄Π΅Π»Π°Π΅ΡΠ΅ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅. ΠΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° subprocess.Popen ()
ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ Π΄Π²Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ stdin ΠΈ stdout .
Π Π»ΠΈΡΡΠΈΠ½Π³Π΅ 2 ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, ΠΊΠ°ΠΊ ΡΡΠΎ Π·Π°ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°ΡΡ. ΠΠ΅ΡΠ²Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ls
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡ, Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉ ls -p.
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ°Π½Π°Π». ΠΠΎΡ ΠΏΠΎΡΠ΅ΠΌΡ ΠΊΠ°Π½Π°Π» stdout ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΏΡΠΎΡΠ΅ΡΡ .Π’Π Π£ΠΠΠ
. ΠΡΠΎΡΠ°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ grep
ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΏΡΠΎΡΠ΅ΡΡ, Π½ΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ grep -v / $
.
ΠΠ»Ρ ΡΡΠ΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls
ΠΈΠ· ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠ° ΠΊΠ°Π½Π°Π» stdin grep
ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ls.stdout
. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ endOfPipe
ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠ²ΠΎΠ΄ grep
ΠΈΠ· grep.stdout
, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅ΠΌΠ΅Π½ΡΠ½ΠΎ Π² ΡΠΈΠΊΠ»Π΅ Π΄Π»Ρ
Π½ΠΈΠΆΠ΅. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΡ Π² ΠΏΡΠΈΠΌΠ΅ΡΠ΅ 2 .
ΠΠΈΡΡΠΈΠ½Π³ 2: ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΠΎΠΌ
ΠΈΠΌΠΏΠΎΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΡΠ΅ΡΡΠ°
# ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ls
ls = subprocess.Popen (["ls", "-p", "."],
stdout = subprocess.PIPE,
)
# ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρ grep
grep = subprocess.Popen (["grep", "-v", "/ $"],
stdin = ls.stdout,
stdout = subprocess.PIPE,
)
# ΡΠΈΡΠ°ΡΡ Ρ ΠΊΠΎΠ½ΡΠ° ΠΊΠ°Π½Π°Π»Π° (stdout)
endOfPipe = grep.ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄
# Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠ°ΠΉΠ»Ρ ΠΏΠΎΡΡΡΠΎΡΠ½ΠΎ
Π΄Π»Ρ ΡΡΡΠΎΠΊΠΈ Π² endOfPipe:
ΠΏΠ΅ΡΠ°ΡΡ (ΡΡΡΠΎΠΊΠ°)
ΠΡΠΈΠΌΠ΅Ρ 2: ΠΠ°ΠΏΡΡΠΊ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
$ python find-files3.py
find-files2.py
find-files3.py
find-files4.py
...
ΠΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΊΠ°ΠΊ Ρ Python 2, ΡΠ°ΠΊ ΠΈ Ρ Python 3, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ Π»ΠΈ ΠΌΡ ΠΊΠ°ΠΊ-ΡΠΎ Π΅Π³ΠΎ ΡΠ»ΡΡΡΠΈΡΡ? Π’ΠΎΠ³Π΄Π° Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° Π΄ΡΡΠ³ΠΈΠ΅ Π²Π°ΡΠΈΠ°Π½ΡΡ.
ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ os
ΠΈ fnmatch
ΠΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ ΡΠ°Π½Π΅Π΅, ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎ, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΠΊΠΎΠ΄Π°.ΠΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ Π΄Π°Π²Π°ΠΉΡΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΈΠ· Π΄Π²ΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ os
ΠΈ fnmatch
. ΠΡΠΎΡ Π²Π°ΡΠΈΠ°Π½Ρ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΡΠ°ΠΊΠΆΠ΅ Ρ Python 2 ΠΈ 3.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ°Π³Π° ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌ Π΄Π²Π° ΠΌΠΎΠ΄ΡΠ»Ρ os
ΠΈ fnmatch
. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΡ Ρ
ΠΎΡΠ΅Π»ΠΈ Π±Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»ΠΈΡΡ ΡΠ°ΠΉΠ»Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ os.listdir ()
, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ². Π ΡΠΈΠΊΠ»Π΅ Π΄Π»Ρ
ΠΌΡ ΠΏΠ΅ΡΠ΅Π±ΠΈΡΠ°Π΅ΠΌ ΡΠΏΠΈΡΠΎΠΊ Π·Π°ΠΏΠΈΡΠ΅ΠΉ, Ρ
ΡΠ°Π½ΡΡΠΈΡ
ΡΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ listOfFiles
.
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, Ρ ΠΏΠΎΠΌΠΎΡΡΡ fnmatch
ΠΌΡ ΡΠΈΠ»ΡΡΡΡΠ΅ΠΌ Π·Π°ΠΏΠΈΡΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠ΅ΠΌ, ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π²ΡΠ²ΠΎΠ΄. ΠΠΈΡΡΠΈΠ½Π³ 3 ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΡΠΊΡΠΈΠΏΡ Python, Π° ΠΡΠΈΠΌΠ΅Ρ 3 ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠΉ Π²ΡΠ²ΠΎΠ΄.
ΠΠΈΡΡΠΈΠ½Π³ 3: Π‘ΠΏΠΈΡΠΎΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ΄ΡΠ»Ρ os ΠΈ fnmatch
ΠΈΠΌΠΏΠΎΡΡ ΠΠ‘, fnmatch
listOfFiles = os.listdir ('.')
pattern = "* .py"
Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² listOfFiles:
Π΅ΡΠ»ΠΈ fnmatch.fnmatch (Π·Π°ΠΏΠΈΡΡ, ΡΠ°Π±Π»ΠΎΠ½):
ΠΏΠ΅ΡΠ°ΡΡ (Π·Π°ΠΏΠΈΡΡ)
ΠΡΠΈΠΌΠ΅Ρ 3: Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΠΈΡΡΠΈΠ½Π³Π° 3
$ python2 find-files.ΡΡ
find-files.py
find-files2.py
find-files3.py
...
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ os.listdir ()
ΠΈ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠΎΠ²
ΠΡΠΎΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ — ΡΡΠΎ ΠΌΠΎΡΠ½ΡΠΉ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ²ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅. Π§ΡΠΎΠ±Ρ ΡΠ·Π½Π°ΡΡ Π±ΠΎΠ»ΡΡΠ΅ ΠΎ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°Ρ , ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡΡΠ΅ΡΡ Ρ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π½Π°ΡΠΈΡ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ ΡΡΠ°ΡΠ΅ΠΉ, ΠΠ΅Π½Π΅ΡΠ°ΡΠΎΡΡ Python.
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΌΠ΅ΡΠΎΠ΄ listdir ()
ΠΌΠΎΠ΄ΡΠ»Ρ os
Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡΠ°. ΠΠΎΠ΄ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΎΠ±Π΅ΠΈΠΌΠΈ Π²Π΅ΡΡΠΈΡΠΌΠΈ Python 2 ΠΈ 3.
Π Π°Π±ΠΎΡΠ° Ρ PDF-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π² Python: ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡ
ΠΡΠ° ΡΡΠ°ΡΡΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΠΈΠ· ΡΠ΅ΡΠΈΠΈ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Ρ PDF-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ Π½Π° Python:
Π€ΠΎΡΠΌΠ°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° PDF
Π‘Π΅Π³ΠΎΠ΄Π½Ρ Portable Document Format (PDF) ΠΎΡΠ½ΠΎΡΠΈΡΡΡ ΠΊ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌ ΡΠΎΡΠΌΠ°ΡΠ°ΠΌ Π΄Π°Π½Π½ΡΡ .Π 1990 Π³ΠΎΠ΄Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° PDF Π±ΡΠ»Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Adobe. ΠΠ΄Π΅Ρ ΡΠΎΡΠΌΠ°ΡΠ° PDF Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ / Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Π΄Π»Ρ ΠΎΠ±Π΅ΠΈΡ ΡΡΠΎΡΠΎΠ½, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅ ΠΊΠΎΠΌΠΌΡΠ½ΠΈΠΊΠ°ΡΠΈΠΈ — ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ, Π°Π²ΡΠΎΡΠ° ΠΈΠ»ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ ΠΈ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ. PDF ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠ΅Π΅ΠΌΠ½ΠΈΠΊΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ° PostScript ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΊΠ°ΠΊ ISO 32000-2: 2017.
ΠΠ±ΡΠ°Π±ΠΎΡΠΊΠ° PDF-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ²
ΠΠ»Ρ Linux Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ pdftk ΠΈ pdfgrep. ΠΠ°ΠΊ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΈΡΠΏΡΡΡΠ²Π°Π΅Ρ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ Π²ΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ Π½Π° Python ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠ΅Π³ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ PDF, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ΅.
ΠΡΠ° ΡΡΠ°ΡΡΡ — Π½Π°ΡΠ°Π»ΠΎ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ ΡΠ΅ΡΠΈΠΈ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΡΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Python. Π ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΌΡ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΠΌΡΡ Π½Π° ΡΠ°Π±ΠΎΡΠ΅ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ PDF-ΡΠ°ΠΉΠ»Π°ΠΌΠΈ. ΠΡ ΡΠ·Π½Π°Π΅ΡΠ΅, ΠΊΠ°ΠΊ ΡΠΈΡΠ°ΡΡ ΠΈ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ (ΡΠ΅ΠΊΡΡ ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ), Π²ΡΠ°ΡΠ°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠ°Π·Π±ΠΈΠ²Π°ΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π²ΠΎΠ΄ΡΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π½Π°Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π’ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ / ΡΠΎΠ·Π΄Π°Π½ΠΈΡ PDF-ΡΠ°ΠΉΠ»ΠΎΠ², Π° ΡΠ°ΠΊΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΊΠ°ΠΊ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅, ΡΠ°ΠΊ ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ Π² Π½ΠΎΠ²ΡΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ.
ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΠ°Π±ΠΎΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ PDF, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Python, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΈ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅ΠΌΡ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ½ΡΡΡ, ΡΡΠΎ Π΅ΡΡΡ ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΡΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π°ΡΠ΅Π³ΠΎ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π°ΠΊΡΡΠ°Π»ΡΠ½ΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠ²:
PyPDF2: Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Python Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ², ΠΎΠ±ΡΠ΅Π·ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π²ΠΎΠ΄ΡΠ½ΡΡ Π·Π½Π°ΠΊΠΎΠ². PyPDF2 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΠΊΠ°ΠΊ Π½Π΅Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅, ΡΠ°ΠΊ ΠΈ Π·Π°ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ.
PDFMiner: ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python ΠΈ Ρ ΠΎΡΠΎΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ Python 2.4. ΠΠ»Ρ Python 3 ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΊΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΠΏΠ°ΠΊΠ΅Ρ PDFMiner.six. ΠΠ±Π° ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ PDF-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ. ΠΡΠΎ Π²ΠΊΠ»ΡΡΠ°Π΅Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ PDF 1.7, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ·ΡΠΊΠΎΠ² CJK (ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ, ΡΠΏΠΎΠ½ΡΠΊΠΈΠΉ ΠΈ ΠΊΠΎΡΠ΅ΠΉΡΠΊΠΈΠΉ) ΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΠΈΡΡΠΎΠ² (Type1, TrueType, Type3 ΠΈ CID).
PDFQuery: ΠΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΡΠ΅Π±Ρ ΠΊΠ°ΠΊ Β«Π±ΡΡΡΡΡΡ ΠΈ ΡΠ΄ΠΎΠ±Π½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Π΄Π»Ρ ΠΏΠ°ΡΡΠΈΠ½Π³Π° PDFΒ», ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΊΠ°ΠΊ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Π΄Π»Ρ PDFMiner, lxml ΠΈ pyquery.ΠΠ³ΠΎ ΡΠ΅Π»Ρ Π΄ΠΈΠ·Π°ΠΉΠ½Π° — Β«Π½Π°Π΄Π΅ΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· Π½Π°Π±ΠΎΡΠΎΠ² PDF-ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠ΄Π°Β».
tabula-py: ΡΡΠΎ ΠΏΡΠΎΡΡΠ°Ρ ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ° Python Π΄Π»Ρ tabula-java, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΌΠΎΠΆΠ΅Ρ ΡΠΈΡΠ°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ ΠΈΠ· PDF-ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²ΡΠ²Π°ΡΡ ΠΈΡ Π² Pandas DataFrames. ΠΠ½ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» PDF Π² ΡΠ°ΠΉΠ» CSV / TSV / JSON.
pdflib Π΄Π»Ρ Python: ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Poppler, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π΄Π»Ρ Π½Π΅Π³ΠΎ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ Python. ΠΠ½ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ PDF-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ.ΠΠ΅ ΠΏΡΡΠ°ΡΡ Ρ Π΅Π³ΠΎ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΌ ΠΊΡΠ»ΠΎΠ½ΠΎΠΌ Ρ ΡΠ°ΠΊΠΈΠΌ ΠΆΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.
PyFPDF: Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ PDF-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² Π½Π° Python. ΠΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ FPDF PHP, Ρ ΠΎΡΠΎΡΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎΠ³ΠΎ Π·Π°ΠΌΠ΅Π½Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ PDFlib Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½ΡΡ .
PDFTables: ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΠΉ ΡΠ΅ΡΠ²ΠΈΡ, ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠΈΠΉ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡ Π² Π²ΠΈΠ΄Π΅ PDF-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. ΠΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ PDFTables Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ SAAS.
PyX — Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ Python: PyX — ΡΡΠΎ ΠΏΠ°ΠΊΠ΅Ρ Python Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² PostScript, PDF ΠΈ SVG.ΠΠ½ ΡΠΎΡΠ΅ΡΠ°Π΅Ρ Π² ΡΠ΅Π±Π΅ Π°Π±ΡΡΡΠ°ΠΊΡΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ PostScript Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ TeX / LaTeX. ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΈΡ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΎΠ² ΡΡΡΠΎΡΡΡΡ ΡΠ»ΠΎΠΆΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ 2D ΠΈ 3D Π³ΡΠ°ΡΠΈΠΊΠΎΠ² Π² Π³ΠΎΡΠΎΠ²ΠΎΠΌ Π΄Π»Ρ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅.
shutil — Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ — Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Python 3.9.1
ΠΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΊΠΎΠ΄: Lib / shutil.py
ΠΠΎΠ΄ΡΠ»Ρ shutil
ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΡΡΠ΄ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΠΈ
ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°ΠΉΠ»ΠΎΠ².Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½Ρ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠ΅ ΡΠ°ΠΉΠ»
ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅. ΠΠ»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ ΡΠΌ. Π’Π°ΠΊΠΆΠ΅ os
ΠΌΠΎΠ΄ΡΠ»Ρ.
ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅
ΠΠ°ΠΆΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ( shutil.copy ()
, shutil.copy2 ()
) Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Π°.
ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ°Ρ POSIX ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ Π²Π»Π°Π΄Π΅Π»Π΅Ρ ΡΠ°ΠΉΠ»Π° ΠΈ Π³ΡΡΠΏΠΏΠ° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅ΡΡΡΡΡΡ. ΠΊΠ°ΠΊ ACL. Π Mac OS Π²ΠΈΠ»ΠΊΠ° ΡΠ΅ΡΡΡΡΠ° ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ. ΠΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΠ΅ΡΡΡΡΡ Π±ΡΠ΄ΡΡ ΠΏΠΎΡΠ΅ΡΡΠ½Ρ, Π° ΡΠΈΠΏ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΊΠΎΠ΄Ρ ΡΠΎΠ·Π΄Π°ΡΠ΅Π»Ρ Π±ΡΠ΄ΡΡ Π½Π΅ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ.Π Windows Π²Π»Π°Π΄Π΅Π»ΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΏΠΈΡΠΊΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΈ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ Π΄Π°Π½Π½ΡΡ Π½Π΅ ΠΊΠΎΠΏΠΈΡΡΡΡΡΡ.
ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ
-
ΡΡΡΠΈΠ»Ρ.
copyfileobj
( fsrc , fdst [, Π΄Π»ΠΈΠ½Π° ]) Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° fsrc Π² ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ fdst . Π¦Π΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ , Π΄Π»ΠΈΠ½Π° , Π΅ΡΠ»ΠΈ Π·Π°Π΄Π°Π½ΠΎ, ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ Π±ΡΡΠ΅ΡΠ°. Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΠ»ΠΈΠ½Π° ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· Π·Π°ΡΠΈΠΊΠ»ΠΈΠ²Π°Π½ΠΈΡ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π² ΠΊΡΡΠΊΠΈ; ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΈΡΠ°ΡΡΡΡ ΠΏΠΎ ΡΠ°ΡΡΡΠΌ, ΡΡΠΎΠ±Ρ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π½Π΅ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΡΠ΅ΠΌΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅.ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ Π΅ΡΠ»ΠΈ ΡΠ΅ΠΊΡΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΠ°ΠΉΠ»Π° ΠΎΠ±ΡΠ΅ΠΊΡΠ° fsrc Π½Π΅ 0, ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΎΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° Π΄ΠΎ ΠΊΠΎΠ½ΡΠ° ΡΠ°ΠΉΠ»Π° Π±ΡΠ΄Π΅Ρ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ.
-
ΡΡΡΠΈΠ»Ρ.
ΡΠ°ΠΉΠ» ΠΊΠΎΠΏΠΈΠΈ
( src , dst , * , follow_symlinks = True ) Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ (Π±Π΅Π· ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΡ ) ΡΠ°ΠΉΠ»Π° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ src Π² ΡΠ°ΠΉΠ» Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ dst ΠΈ Π²Π΅ΡΠ½ΡΡΡ dst Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ. src ΠΈ dst — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π½Π° ΠΏΡΡΠΈ, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΡΡΠ΅ΠΉ, Π·Π°Π΄Π°Π½Π½ΡΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ.
dst Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΠΏΠΎΠ»Π½ΡΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°; ΠΏΠΎΡΠΌΠΎΡΡΠΈΡΠ΅ Π½Π°
ΠΊΠΎΠΏΠΈΡ ()
Π΄Π»Ρ ΠΊΠΎΠΏΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΠΏΡΡΡ ΠΊ ΡΠ΅Π»Π΅Π²ΠΎΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Ρ. ΠΡΠ»ΠΈ src ΠΈ dst ΡΠΊΠ°ΠΆΠΈΡΠ΅ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ»,SameFileError
Π²ΠΎΠ·Π±ΡΠΆΠ΄Π°Π΅ΡΡΡ.ΠΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ; Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ —
OSError
ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·Π±ΡΠΆΠ΄Π΅Π½ΠΎ. ΠΡΠ»ΠΈ dst ΡΠΆΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π·Π°ΠΌΠ΅Π½Π΅Π½.Π‘ΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ, ΡΠ°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΡΠ΅ ΠΈΠ»ΠΈ Π±Π»ΠΎΡΠ½ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΈ ΠΊΠ°Π½Π°Π»Ρ, Π½Π΅ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ.ΠΡΠ»ΠΈ follow_symlinks ΡΠ²Π»ΡΠ΅ΡΡΡ Π»ΠΎΠΆΠ½ΡΠΌ ΠΈ src ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΎΠΉ, Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½Π° Π½ΠΎΠ²Π°Ρ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ file src ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π°.
ΠΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ Π°ΡΠ΄ΠΈΡΠ°
shutil.copyfile
Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈsrc
,dst
.ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.3: ΡΠ°Π½ΡΡΠ΅ Π²ΡΠ·ΡΠ²Π°Π»ΠΎΡΡ
IOError
Π²ΠΌΠ΅ΡΡΠΎOSError
.ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ follow_symlinks . Π’Π΅ΠΏΠ΅ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ dst .ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.4: ΠΠΎΠ΄Π½ΡΡΡ
SameFileError
Π²ΠΌΠ΅ΡΡΠΎError
. ΠΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ, ΡΡΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎ.
- ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
shutil.
SameFileError
ΠΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π΅ΡΠ»ΠΈ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΈ ΠΌΠ΅ΡΡΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²
copyfile ()
ΡΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΉΠ».
-
ΡΡΡΠΈΠ»Ρ.
copymode
( src , dst , * , follow_symlinks = True ) Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π±ΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΈΠ· src Π² dst . Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°, Π²Π»Π°Π΄Π΅Π»Π΅Ρ ΠΈ Π³ΡΡΠΏΠΏΡ Π½Π΅ Π·Π°ΡΡΠΎΠ½ΡΡΡ. src ΠΈ dst — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ Π½Π° ΠΏΡΡΠΈ, ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° ΠΏΡΡΠ΅ΠΉ Π΄Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ. ΠΡΠ»ΠΈ follow_symlinks Π»ΠΎΠΆΠ½ΠΎ, Π° src ΠΈ dst ΡΠ²Π»ΡΡΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ ΡΡΡΠ»ΠΊΠ°ΠΌΠΈ,
copymode ()
ΠΏΠΎΠΏΡΡΠ°Π΅ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΠΌΠΎΠ³ΠΎ dst (ΡΠΊΠΎΡΠ΅Π΅ ΡΠ΅ΠΌ ΡΠ°ΠΉΠ», Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ½ ΡΠΊΠ°Π·ΡΠ²Π°Π΅Ρ).ΠΡΠ° ΡΡΠ½ΠΊΡΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π½Π΅ Π½Π° Π²ΡΠ΅Ρ ΠΠ»Π°ΡΡΠΎΡΠΌΠ°; ΡΠΌ.copystat ()
Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ. ΠΡΠ»ΠΈcopymode ()
Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ Π½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅, ΠΈ ΡΡΠΎ ΠΏΡΠΎΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΠΎΠ½ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ΄Π΅Π»Π°Π΅Ρ ΠΈ Π²Π΅ΡΠ½Π΅ΡΡΡ.ΠΡΠ·ΡΠ²Π°Π΅Ρ ΡΠΎΠ±ΡΡΠΈΠ΅ Π°ΡΠ΄ΠΈΡΠ°
shutil.copymode
Ρ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈsrc
,dst
.ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ Π² Π²Π΅ΡΡΠΈΠΈ 3.3: ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ follow_symlinks .
-
ΡΡΡΠΈΠ»Ρ.
copystat
( src , dst , * , follow_symlinks = True ) Π‘ΠΊΠΎΠΏΠΈΡΡΠΉΡΠ΅ Π±ΠΈΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΉ, Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°, Π²ΡΠ΅ΠΌΡ ΠΏΠΎΡΠ»Π΅Π΄Π½Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠ»Π°Π³ΠΈ ΠΎΡ src Π΄ΠΎ dst . Π Linux
copystat ()
ΡΠ°ΠΊΠΆΠ΅ ΠΊΠΎΠΏΠΈΡΡΠ΅Ρ Β«Π Π°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡΒ», Π³Π΄Π΅ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π‘ΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π°, Π²Π»Π°Π΄Π΅Π»Π΅Ρ ΠΈ Π³ΡΡΠΏΠΏΡ Π½Π΅ Π·Π°ΡΡΠΎΠ½ΡΡΡ. src ΠΈ dst — ΡΡΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΡ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΠΏΡΡΠΈ ΠΈΠ»ΠΈ ΠΏΡΡΠΈ ΠΈΠΌΠ΅Π½Π° Π΄Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊ.ΠΡΠ»ΠΈ follow_symlinks Π»ΠΎΠΆΠ½ΠΎ, Π° src ΠΈ dst ΠΎΠ±Π° ΠΎΠ±ΡΠ°ΡΠΈΡΠ΅ΡΡ ΠΊ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ,
copystat ()
Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ°ΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ, Π° Π½Π΅ ΡΠ°ΠΉΠ»Ρ, ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ ΠΎΡΠ½ΠΎΡΡΡΡΡ ΠΊ — ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΈΠ· src ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ° ΠΈ Π·Π°ΠΏΠΈΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² dst ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ°.ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅
ΠΠ΅ Π²ΡΠ΅ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ»ΠΊΠΈ. Π‘Π°ΠΌ Python ΠΌΠΎΠΆΠ΅Ρ ΡΠΊΠ°Π·Π°ΡΡ Π²Π°ΠΌ, ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Π° Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ
os.chmod Π² os.supports_follow_symlinks
— ΡΡΠΎTrue
,copystat ()
ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΠΈΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ.ΠΡΠ»ΠΈ
os.utime Π² os.supports_follow_symlinks
ΡΠ°Π²Π½ΠΎTrue
,copystat ()
ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ Π΄ΠΎΡΡΡΠΏ ΠΈ Π²ΡΠ΅ΠΌΡ ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΡΠ»ΠΊΠΈ.ΠΡΠ»ΠΈ
os.chflags Π² os.supports_follow_symlinks
— ΡΡΠΎTrue
,copystat ()
ΠΌΠΎΠΆΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ ΡΠ»Π°Π³ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΠ»ΠΊΠ°.