Π€Π°ΠΉΠ»Ρ‹ ΠΏΠΈΡ‚ΠΎΠ½: Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π² Python.

Python прСдоставляСт основныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ. МоТно произвСсти практичСски Π»ΡŽΠ±ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, дСйствиС, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΡŽ с Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ хранящимся Π² Π½Π΅ΠΌ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„Π°ΠΉΠ»Π° file object.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»ΠΎΠΌ, Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open(). Π­Ρ‚Π° функция создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ„Π°ΠΉΠ»Π° file object, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прСдставлСны Π½ΠΈΠΆΠ΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π’ зависимости ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° открытия Ρ„Π°ΠΉΠ»Π° mode, описанного Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ встроСнной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open(), ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚:

  • Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с тСкстовыми ΠΈΠ»ΠΈ Π±Π°ΠΉΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ;
  • Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Ρ„Π°ΠΉΠ»Π°;
  • ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅;
  • ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅;
  • Π΄ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°;
  • ΠΈ Ρ‚. Π΄., Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΌΠ½ΠΎΠ³ΠΎ.

Π’Π°ΠΊ ΠΆΠ΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open() ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΡƒ Ρ„Π°ΠΉΠ»Π°.


ΠœΠ΅Ρ‚ΠΎΠ΄ file.close() Π² Python, Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ».

ΠœΠ΅Ρ‚ΠΎΠ΄ file.close() Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„Π°ΠΉΠ». Π—Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ„Π°ΠΉΠ» большС Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ ΠΈΠ»ΠΈ записан. Π›ΡŽΠ±Π°Ρ опСрация, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ValueError послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» Π±Ρ‹Π» Π·Π°ΠΊΡ€Ρ‹Ρ‚.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.flush() Π² Python, ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Π±ΡƒΡ„Π΅Ρ€ чтСния.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.flush() ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ Π±ΡƒΡ„Π΅Ρ€. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°. Π•Π³ΠΎ Ρ†Π΅Π»ΡŒ — ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π²Ρ‹Ρ…ΠΎΠ΄Π½ΠΎΠΉ Π±ΡƒΡ„Π΅Ρ€ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° диск.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.fileno() Π² Python, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.fileno() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ цСлочислСнный Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ дСскриптор, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ для запроса ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Π²ΠΎΠ΄Π°-Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ· ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.isatty() Π² Python, провСряСт связь с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΎΠΌ.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.isatty() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли Ρ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½/связан с Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ устройством tty ΠΈΠ»ΠΈ с tty-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ устройством, ΠΈΠ½Π°Ρ‡Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ False.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.
read() Π² Python, Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ вСсь Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ кусками.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.read() считываСт ΠΈΠ· Ρ„Π°ΠΉΠ»Π° Π½Π΅ Π±ΠΎΠ»Π΅Π΅ size Π±Π°ΠΉΡ‚ΠΎΠ². Если достигаСтся ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π° EOF Π΄ΠΎ получСния ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° size Π±Π°ΠΉΡ‚ΠΎΠ², Ρ‚ΠΎΠ³Π΄Π° ΠΌΠ΅Ρ‚ΠΎΠ΄ считаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступныС Π±Π°ΠΉΡ‚Ρ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.readline() Π² Python, Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» построчно.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.readline() Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ Ρ†Π΅Π»ΡƒΡŽ строку ΠΈΠ· Ρ„Π°ΠΉΠ»Π°. ΠšΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ символ Π½ΠΎΠ²ΠΎΠΉ строки \n сохраняСтся Π² строкС.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.readlines() Π² Python, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список строк Ρ„Π°ΠΉΠ»Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.readlines() Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ построчно, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт ΠΊΠΎΠ½Ρ†Π° Ρ„Π°ΠΉΠ»Π° EOF, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список, содСрТащий строки Ρ„Π°ΠΉΠ»Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.seek() Π² Python, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π² Ρ„Π°ΠΉΠ»Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.seek() устанавливаСт Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ offset указатСля для чтСния/записи Π² Ρ„Π°ΠΉΠ»Π΅ file.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.tell() Π² Python, позиция указатСля Π² Ρ„Π°ΠΉΠ»Π΅.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.tell() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ ΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽ указатСля чтСния/записи Π² Ρ„Π°ΠΉΠ»Π΅ Π² Π±Π°ΠΉΡ‚Π°Ρ….

ΠœΠ΅Ρ‚ΠΎΠ΄ file.
truncate() Π² Python, усСкаСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.truncate() усСкаСт Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°. Если ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ size, Ρ„Π°ΠΉΠ» усСкаСтся Π΄ΠΎ этого (максимально) Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.write() Π² Python, ΠΏΠΈΡˆΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„Π°ΠΉΠ».

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.write() записываСт строку str Π² Ρ„Π°ΠΉΠ» file. ΠœΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ†Π΅Π»ΠΎΠ΅ число — количСство записанных Π±Π°ΠΉΡ‚.

ΠœΠ΅Ρ‚ΠΎΠ΄ file.writelines() Π² Python, ΠΏΠΈΡˆΠ΅Ρ‚ список строк Π² Ρ„Π°ΠΉΠ».

ΠœΠ΅Ρ‚ΠΎΠ΄ Ρ„Π°ΠΉΠ»Π° file.writelines() записываСт ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ строк Π² Ρ„Π°ΠΉΠ» file.

Π€Π°ΠΉΠ»Ρ‹ ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Python

Разрабатывая прилоТСния Π²Π°ΠΌ придСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ Ρ‚Π΅Ρ€ΡΠ»ΠΈΡΡŒ ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.Β Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ошибки, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π»ΠΈ ΠΊ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎΠΌΡƒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Для этого Π² Python ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ — ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ для управлСния ошибок.

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ страницы:
1. Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°Β 
Β  Β  1.2. Π§Ρ‚Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ
Β  Β  1.3. Анализ тСкста из Ρ„Π°ΠΉΠ»Π°
2. Π—Π°ΠΏΠΈΡΡŒ Π² Ρ„Π°ΠΉΠ»
Β  Β  2.1.Β Π—Π°ΠΏΠΈΡΡŒ Π² пустой Ρ„Π°ΠΉΠ»
Β  Β  2.2. ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Π°Ρ запись Π² Ρ„Π°ΠΉΠ»
Β  Β  2.3. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Ρ„Π°ΠΉΠ»Ρƒ
3. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ
Β  Β  3.1. Π‘Π»ΠΎΠΊΠΈ try-except
Β  Β  3.2. Π‘Π»ΠΎΠΊΠΈΒ try-except-else
Β  Β  3.3.Β Π‘Π»ΠΎΠΊΠΈΒ try-except с тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ
Β  Β  3.4. Ошибки Π±Π΅Π· увСдомлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

Β 

1. Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π² Python

Π’ Ρ„Π°ΠΉΠ»Π°Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒΡΡ любой объСм Π΄Π°Π½Π½Ρ‹Ρ…, начиная ΠΎΡ‚ нСбольшого рассказа ΠΈ Π΄ΠΎ сохранСния истории ΠΏΠΎΠ³ΠΎΠ΄Ρ‹ Π·Π° столСтия.Β Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ простой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π΅Π³ΠΎ содСрТимоС Π½Π° экран. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ я Π±ΡƒΠ΄Ρƒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с числом «ΠŸΠΈ» с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ 10 Π·Π½Π°ΠΊΠΎΠ² послС запятой. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ этот Ρ„Π°ΠΉΠ» ΠΌΠΎΠΆΠ½ΠΎ прямо здСсь ( pi_10.txtΒ ) ΠΈΠ»ΠΈ самим ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ тСкстовый Ρ„Π°ΠΉΠ» ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ Π»ΡŽΠ±Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, которая ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ содСрТимоС Π½Π° экран:

with open(‘pi_10.txt’) as file_pi:
Β Β  Β digits = file_pi.read()
print(digits)

Код начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова with. ΠŸΡ€ΠΈ использованиС ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова with ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» открываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open(), Π° закрываСтся автоматичСски послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠ°Β with ΠΈ Π²Π°ΠΌ Π½Π΅ придСтся Π² ΠΊΠΎΠ½Ρ†Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ close(). Π€Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ явными Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ open() ΠΈ close(). Ѐункция open() ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ΄ΠΈΠ½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ — имя ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, Π² нашСм случаС ‘pi_10.txt’.Β Python ΠΈΡ‰Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π³Π΄Π΅ хранится Ρ„Π°ΠΉΠ» Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Ѐункция open() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»Β ‘pi_10. txt’.Β Python сохраняСт этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉΒ file_piΒ .Β Β 

ПослС появлСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Β ‘pi_10.txt’,Β ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ read(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ всС содСрТимоС Ρ„Π°ΠΉΠ»Π° ΠΈ сохраняСт Π΅Π³ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ contents. Π’ ΠΊΠΎΠ½Ρ†Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print содСрТимоС выводится Π½Π° экран. Запустив этот Ρ„Π°ΠΉΠ», ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄Π°Π½Π½Ρ‹Π΅, находящиСся Π² нашСм Ρ„Π°ΠΉΠ»Π΅Β ‘pi_10.txt’.

3.1415926535

Π’ случаС, Ссли Ρ„Π°ΠΉΠ» располоТСн Π½Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ каталогС с Ρ„Π°ΠΉΠ»ΠΎΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Python искал Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌ мСстС. БущСствуСт Π΄Π²Π° ΠΏΡƒΡ‚ΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ располоТСниС Ρ„Π°ΠΉΠ»Π°:

ΠžΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΏΡ€ΠΈΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Python ΠΈΡΠΊΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ задаСтся ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

with open(‘files/имя_Ρ„Π°ΠΉΠ»Π°.txt’) as file:

  • ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.Β 

ΠœΠ΅ΡΡ‚ΠΎΠ½Π°Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π½Π΅ зависит ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π³Π΄Π΅ находится ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°. ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΄Π»ΠΈΠ½Π½Π΅Π΅ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…, поэтому ΠΈΡ… Π»ΡƒΡ‡ΡˆΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

ΠΈ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open(). Β 

file_path = ‘/Users/Desktop/files/имя_Ρ„Π°ΠΉΠ»Π°.txt’
with open(file_path) as file:

Π‘ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌΠΈ путями ΠΌΠΎΠΆΠ½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· любого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° вашСй систСмы.Β 

Β 

Β 

1.2. Π§Ρ‚Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° Python ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π½ΠΈΠΌΠΈ

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π±Ρ‹Π» Ρ„Π°ΠΉΠ» с 10 Π·Π½Π°ΠΊΠ°ΠΌΠΈ послС запятой. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ„Π°ΠΉΠ» с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠΌ Π·Π½Π°ΠΊΠΎΠ² числа «ΠŸΠΈ» послС запятой. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ число «ΠŸΠΈ» с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠΌ Π·Π½Π°ΠΊΠΎΠ² послС запятой ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΡŽΠ΄Π°( ‘pi_1000000.txt’ ). Π˜Π·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° Π½Π΅ придСтся, просто Π·Π°ΠΌΠ΅Π½ΠΈΠΌ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Python.Β 

with open(‘pi_1000000.txt’) as file_pi:
Β Β  Β digits = file_pi.read()
print(digits[:102])
print(len(digits))

Π’Ρ‹Π²Π΅Π΄Π΅ΠΌ Π½Π° экран ΠΏΠ΅Ρ€Π²Ρ‹Π΅ 100 Π·Π½Π°ΠΊΠΎΠ² послС запятой. Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ len, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ Ρ„Π°ΠΉΠ»Π°

3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679

1000002

Из Π²Ρ‹Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ строка содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ «ΠŸΠΈ» с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ 1 000 000 Π·Π½Π°ΠΊΠΎΠ² послС запятой. Π’ Python Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° Π΄Π»ΠΈΠ½Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, СдинствСнноС ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ это объСм памяти вашСй систСмы.Β 

ПослС сохранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с Π½ΠΈΠΌΠΈ всС Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Π² число «ΠŸΠΈ» Π΄Π°Ρ‚Π° вашСго дня роТдСния. НапишСм Π½Π΅Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая Π±ΡƒΠ΄Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Π΄Π°Ρ‚Π° дСнь роТдСния Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ числа «ΠŸΠΈ»:

with open(‘pi_1000000.txt’) as file_pi:
Β Β  Β digits = file_pi.read()
birthday = input(«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π°Ρ‚Ρƒ дня роТдСния: «)
if birthday Β in digits:
Β Β  Β print(«Π’Π°Ρˆ дСнь Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² число ‘Пи'»)

else:
Β Β  Β print(«Π’Π°Ρˆ дСнь Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² число ‘Пи'»)

Начало ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π΅ измСнилось, Ρ‡ΠΈΡ‚Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» ΠΈ сохраняСм Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ digits. Π”Π°Π»Π΅Π΅ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅Β ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ input ΠΈ сохраняСм Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ birstday. Π—Π°Ρ‚Π΅ΠΌ провСряСм Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ birstday Π²Β digits с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ if-else. Запустив нСсколько Ρ€Π°Π· ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π°Ρ‚Ρƒ дня роТдСния: 260786
Π’Π°Ρˆ дСнь Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² число ‘Пи’


Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π΄Π°Ρ‚Ρƒ дня роТдСния: 260884
Π’Π°Ρˆ дСнь Ρ€ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² число ‘Пи’

Π’ зависимости ΠΎΡ‚ Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ вхоТдСния ΠΈΠ»ΠΈ Π½Π΅ вхоТдСния дня роТдСния Π² число «ΠŸΠΈ»

Π’Π°ΠΆΠ½ΠΎ: Читая Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· тСкстового Ρ„Π°ΠΉΠ»Π°, PythonΒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ вСсь тСкст ΠΊΠ°ΠΊ строку. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π½ΠΈΠΌ Π² числовом контСкстС, Ρ‚ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ†Π΅Π»ΠΎΠ΅ число Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ int() ΠΈΠ»ΠΈ Π² вСщСствСнноС число Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ float().

Β 

Β 

1.3. Анализ тСкста ΠΈΠ· Ρ„Π°ΠΉΠ»Π°Β Π½Π° Python

Python ΠΌΠΎΠΆΠ΅Ρ‚ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹, содСрТащиС Ρ†Π΅Π»Ρ‹Π΅ ΠΊΠ½ΠΈΠ³ΠΈ. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΊΠ½ΠΈΠ³Ρƒ «ΠΠ»ΠΈΡΠ° Π² странС чудСс» ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство слов Π² ΠΊΠ½ΠΈΠ³Π΅. ВСкстовый Ρ„Π°ΠΉΠ» с ΠΊΠ½ΠΈΠ³ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ здСсь(‘ alice ‘) ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅. НапишСм ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, которая подсчитаСт количСство слов Π² ΠΊΠ½ΠΈΠ³Π΅ ΠΈ сколько Ρ€Π°Π· повторяСтся имя Алиса Π² ΠΊΠ½ΠΈΠ³Π΅.

filename = ‘alice.txt’

with open(filename, encoding=’utf-8′) as file:
Β Β  Β contents = file.read()
n_alice = contents.lower().count(‘алиса’)
words = contents.split()
n_words = len(words)

print(f»ΠšΠ½ΠΈΠ³Π° ‘Алиса Π² странС чудСс’ содСрТит {n_words} слов.»)

print(f»Π˜ΠΌΡ Алиса повторяСтся {n_alice} Ρ€Π°Π·.»)

ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈΒ Ρ„Π°ΠΉΠ»Π° добавился Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Β encoding=’utf-8′. Он Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ° вашСй систСмы Π½Π΅ совпадаСт с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. ПослС чтСния Ρ„Π°ΠΉΠ»Π°, сохраним Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ contents.

Для подсчСта вхоТдСния слова ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉΒ Π² строкС моТно Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ count(), Π½ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ привСсти всС слова ΠΊ Π½ΠΈΠΆΠ½Π΅ΠΌΡƒ рСгистру Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉΒ lower(). ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π²Ρ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠΉ сохраним Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ n_alice.Β 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ количСство слов Π² тСксС, Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ split(), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для построСния списка слов Π½Π° основС строки. ΠœΠ΅Ρ‚ΠΎΠ΄Β split() раздСляСт строку Π½Π° части, Π³Π΄Π΅ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π» ΠΈ сохраняСт всС части строки Π² элСмСнтах списка. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Β split():

title = ‘Алиса Π² странС чудСс’
print(title.split())

[‘Алиса’, ‘Π²’, ‘странС’, ‘чудСс’]

ПослС использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π°Β split(), сохраним список Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ words ΠΈ Π΄Π°Π»Π΅Π΅ подсчитаСм количСство слов Π² спискС, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ len(). ПослС подсчСта всСх Π΄Π°Π½Π½Ρ‹Ρ…, Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Π½Π° экран Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

Книга ‘Алиса Π² странС чудСс’ содСрТит 28389 слов.
Имя Алиса повторяСтся 419 Ρ€Π°Π·.

Β 

2.1.Β Π—Π°ΠΏΠΈΡΡŒ Π² пустой Ρ„Π°ΠΉΠ» Π² Python

Π‘Π°ΠΌΡ‹ΠΉ простой способ сохранСния Π΄Π°Π½Π½Ρ‹Ρ…, это Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈΡ… Π² Ρ„Π°ΠΉΠ». Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ тСкс Π² Ρ„Π°ΠΉΠ», трСбуСтся Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ open() со Π²Ρ‚ΠΎΡ€Ρ‹ΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сообщит Python Ρ‡Ρ‚ΠΎ трСбуСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ». ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ записи простого сообщСния Π² Ρ„Π°ΠΉΠ» Π½Π° Python:

filename = ‘memory.txt’

with open(filename, ‘w’) as file:
Β Β  Β file.write(«Π―Π·Ρ‹ΠΊ программирования Python»)

Для Π½Π°Ρ‡Π°Π»Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ Ρ‚ΠΈΠΏ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ Ρ„Π°ΠΉΠ»Π° ΠΈ сохраним Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ filename. Π—Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open() ΠΏΠ΅Ρ€Π΅Π΄Π°Π΄ΠΈΠΌ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ содСрТит имя ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ ‘ w ‘ сообщаСт Python, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи. Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ строчкС ΠΌΠ΅Ρ‚ΠΎΠ΄ write() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для записи строки Π² Ρ„Π°ΠΉΠ». ΠžΡ‚ΠΊΡ€Ρ‹Π² Ρ„Π°ΠΉΠ» ‘

memory.txtΒ ‘ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π² Π½Π΅ΠΌ строку:

Π―Π·Ρ‹ΠΊ программирования Python

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Ρ„Π°ΠΉΠ» Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ отличаСтся ΠΎΡ‚ Π»ΡŽΠ±Ρ‹Ρ… Π΄Ρ€ΡƒΠ³ΠΈΡ… тСкстовых Ρ„Π°ΠΉΠ»Π°Ρ… Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, с Π½ΠΈΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ всС Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.Β 

Π’Π°ΠΆΠ½ΠΎ: ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ Ρ„Π°ΠΉΠ» Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи ‘ w ‘, Ссли Ρ„Π°ΠΉΠ» ΡƒΠΆΠ΅ сущСствуСт, Ρ‚ΠΎ Python ΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ Π΅Π³ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„Π°ΠΉΠ»Π°.

Π€Π°ΠΉΠ»Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ…:

  • Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β ‘ r ‘
  • запись ‘ w ‘
  • присоСдинСниС ‘ a ‘
  • Ρ€Π΅ΠΆΠΈΠΌ ΠΊΠ°ΠΊ чтСния,Β Ρ‚Π°ΠΊ ΠΈ записи ‘ r+ ‘

Β 

Β 

2.2. ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Π°Ρ запись Π² Ρ„Π°ΠΉΠ» Π½Π° Python

ΠŸΡ€ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠΈΒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ write() символы Π½ΠΎΠ²ΠΎΠΉ строки Π½Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² записываСмый Ρ„Π°ΠΉΠ»:

filename = ‘memory.

txt’

with open(filename, ‘w’) as file:
Β Β  Β file.write(«Π―Π·Ρ‹ΠΊ программирования Python»)
Β Β  Β file.write(«Π―Π·Ρ‹ΠΊ программирования Java»)
Β Β  Β file.write(«Π―Π·Ρ‹ΠΊ программирования Perl»)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π² Ρ„Π°ΠΉΠ» ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Ρ‡Ρ‚ΠΎ всС строки склСились:

Π―Π·Ρ‹ΠΊ программирования PythonΠ―Π·Ρ‹ΠΊ программирования JavaΠ―Π·Ρ‹ΠΊ программирования Perl

Для написания ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ сообщСния с Π½ΠΎΠ²ΠΎΠΉ строки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ символ Π½ΠΎΠ²ΠΎΠΉ строки \n

filename = ‘memory.txt’

with open(filename, ‘w’) as file:
Β Β  Β file.write(«Π―Π·Ρ‹ΠΊ программирования Python\n»)
Β Β  Β file.write(«Π―Π·Ρ‹ΠΊ программирования Java\n»)
Β Β  Β file.write(«Π―Π·Ρ‹ΠΊ программирования Perl\n»)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π―Π·Ρ‹ΠΊ программирования Python
Π―Π·Ρ‹ΠΊ программирования Java
Π―Π·Ρ‹ΠΊ программирования Perl

Β 

2.3. ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π½Π° PythonΒ 

Для добавлСния Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ», вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ постоянно ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ присоСдинСния ‘ a ‘. ВсС Π½ΠΎΠ²Ρ‹Π΅ строки добавятся Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ созданный Ρ„Π°ΠΉΠ» ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° 2.2Β ‘memory.txt’.Β Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π² Π½Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΏΠ°Ρ€Ρƒ строк.

filename = ‘memory.txt’

with open(filename, ‘a’) as file:
Β Β  Β file.write(«Hello world\n»)
Β Β  Β file.write(«ΠŸΠΎΠ»Π΅Ρ‚ Π½Π° Π»ΡƒΠ½Ρƒ\n»)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ добавятся Π΄Π²Π΅ строки:

Π―Π·Ρ‹ΠΊ программирования Python
Π―Π·Ρ‹ΠΊ программирования Java
Π―Π·Ρ‹ΠΊ программирования Perl
Hello world
ΠŸΠΎΠ»Π΅Ρ‚ Π½Π° Π»ΡƒΠ½Ρƒ

Β 

Β 

3. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² Python

ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈΒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Ρ‚ΡŒ ошибки, для управлСния ΠΈΠΌΠΈ Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠΌΠΈ. Когда Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΊΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ваша ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° продолТится, Π° Ссли Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° остановится ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ трассировку с ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠΌ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ. Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π±Π»ΠΎΠΊΠ°Ρ… try-except. Π‘ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ try-except ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΄Π°ΠΆΠ΅ Π² Ρ‚ΠΎΠΌ случаС, Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ.

3.

1. Π‘Π»ΠΎΠΊΠΈ try-except Π½Π° Python

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉΒ ΠΎΡˆΠΈΠ±ΠΊΠΈ дСлСния Π½Π° ноль:

print(7/0)

Traceback (most recent call last):
Β  File «example.py», line 1, in <module>
Β  Β  print(7/0)
ZeroDivisionError: division by zero

Если Π² вашСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ появлСниС ошибки, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Ρ€Π°Π½Π΅Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊΒ try-except для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ошибки ZeroDivisionError с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠ°Β try-except:

try:
Β Β  Β print(7/0)
except ZeroDivisionError:
Β Β  Β print(«Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ»)

Команда print(7/0) ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½Π° Π² Π±Π»ΠΎΠΊ try. Если ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ try выполняСтся ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Ρ‚ΠΎ Python пропускаСт Π±Π»ΠΎΠΊ except.Β  Если ΠΆΠ΅ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊΠ΅ try создал ΠΎΡˆΠΈΠ±ΠΊΡƒ, Ρ‚ΠΎ Python ΠΈΡ‰Π΅Ρ‚ Π±Π»ΠΎΠΊ except ΠΈ запускаСт ΠΊΠΎΠ΄ Π² этом Π±Π»ΠΎΠΊΠ΅. Π’ нашСм случаС Π² Π±Π»ΠΎΠΊΠ΅ except выводится сообщСниС «Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ».Β ΠŸΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ этого ΠΊΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚ понятноС сообщСниС:

Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ

Если Π·Π° ΠΊΠΎΠ΄ΠΎΠΌΒ try-except слСдуСт Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ΄, Ρ‚ΠΎ Python ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Β 

Β 

3.2. Π‘Π»ΠΎΠΊΒ try-except-else Π½Π° Python

НапишСм простой ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ дСлСния Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° экран. Π‘Ρ€Π°Π·Ρƒ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ дСлСния Π½Π° ноль  ZeroDivisionError ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π±Π»ΠΎΠΊ else ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠ° try.

while True:
Β Β  Β first_number = input(«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: «)
Β Β  Β if first_number == ‘q’:
Β Β  Β Β Β  Β break
Β Β  Β second_number = input(«Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: «)
Β  Β Β if second_number == ‘q’:
Β Β  Β Β Β  Β break
Β Β  Β try:
Β Β  Β Β Β  Β a = int(first_number) / int(second_number)
Β Β  Β except ZeroDivisionError:
Β Β  Β Β Β  Β print(«Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ»)
Β Β  Β else:
Β Β  Β Β Β  Β print(f»Π§Π°ΡΡ‚Π½ΠΎΠ΅ Π΄Π²ΡƒΡ… чисСл Ρ€Π°Π²Π½ΠΎ {a}»)

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число (first_number), Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ (second_number). Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Π²Π²Π΅Π» » q « для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° продолТаСтся. Π’ Π±Π»ΠΎΠΊ try ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅ΠΌ ΠΊΠΎΠ΄, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ появлСниС ошибки. Π’ случаС отсутствия ошибки дСлСния, выполняСтся ΠΊΠΎΠ΄ else ΠΈ Python Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π½Π° экран. Π’ случаС ошибки ZeroDivisionError выполняСтся Π±Π»ΠΎΠΊ except ΠΈ выводится сообщСниС ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚Π΅ дСлСния Π½Π° ноль, Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ своС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Запустив ΠΊΠΎΠ΄ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Ρ‚Π°ΠΊΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹:

Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: 30
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: 5
ЧастноС Π΄Π²ΡƒΡ… чисСл Ρ€Π°Π²Π½ΠΎ 6.0
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число: 7
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ Π²Ρ‚ΠΎΡ€ΠΎΠ΅ число: 0
Π”Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° ноль Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ
Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ число:Β Β q

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ дСйствиС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΡ€ΠΈ появлСнии ошибки Π½Π΅ ΠΏΡ€Π΅Ρ€Π²Π°Π»ΠΎΡΡŒ.

Β 

Β 

3.3. Π‘Π»ΠΎΠΊΒ Β try-except с тСкстовыми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π° Python

Одна ΠΈΠ· стандартных ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ, это отсутствиС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°, ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» находится Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС ΠΈ Python Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ Π½Π°ΠΉΡ‚ΠΈ. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ»:

filename = ‘alice_2.txt’

with open(filename, encoding=’utf-8′) as file:
Β Β  Β contents = file.read()

Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½Π΅ сущСствуСт, Python Π²Ρ‹Π΄Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅:

Traceback (most recent call last):
Β  File «example.py», line 3, in <module>
Β  Β  with open(filename, encoding=’utf-8′) as file:
FileNotFoundError: [Errno 2] No such file or directory: ‘alice_2.txt’

FileNotFoundError — это ошибка отсутствия Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠ° try-except ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π΅Π΅:

filename = ‘alice_2.txt’

try:
Β Β  Β with open(filename, encoding=’utf-8′) as file:
Β Β  Β Β Β  Β contents = file.read()
except FileNotFoundError:
Β Β  Β print(f»Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» {filename } Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½»)

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈ отсутствии Ρ„Π°ΠΉΠ»Π° ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ:

Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» alice_2.txt Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½

Β 

3.4. Ошибки Π±Π΅Π· увСдомлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π’ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΌΡ‹ сообщали ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…. Π’ Python Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ Π½Π΅ ΡΠΎΠΎΠ±Ρ‰Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΎ Π½Π΅ΠΉ ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ дальшС. Для этого Π±Π»ΠΎΠΊ try ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ, Π° Π² Π±Π»ΠΎΠΊΠ΅ except Π²Ρ‹ прописываСтС Python Π½Π΅ ΠΏΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… дСйствий с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ pass. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ошибки Π±Π΅Π· увСдомлСния:

ilename = ‘alice_2.txt’

try:
Β Β  Β with open(filename, encoding=’utf-8′) as file:
Β Β  Β Β Β  Β contents = file.read()
except FileNotFoundError:
Β  Β  pass

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈ запускС этой ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ отсутствия Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚.

Β 

Β 

Π”Π°Π»Π΅Π΅:Β Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ json. Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Python

Назад:Β ΠšΠ»Π°ΡΡΡ‹ Π² Python

Β 

Please enable JavaScript to view the comments powered by Disqus.

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Python (с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ)

Π’ этом руководствС ΠΌΡ‹ ΡƒΠ·Π½Π°Π΅ΠΌ ΠΎΠ± ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ β€” это Π½Π°Π±ΠΎΡ€ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ². ΠšΠ°Ρ‚Π°Π»ΠΎΠ³ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° называСтся ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ.

Python ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ os , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСт Π½Π°ΠΌ мноТСство ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ (Π° Ρ‚Π°ΠΊΠΆΠ΅ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ).


ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Python

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ getcwd() модуля os .

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Π²ΠΈΠ΄Π΅ строки. НапримСр,

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ ОБ
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (os.getcwd())
# Π’Ρ‹Π²ΠΎΠ΄: C:\Program Files\PyScripter 

Π—Π΄Π΅ΡΡŒ getcwd() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Π² Π²ΠΈΠ΄Π΅ строки.


ИзмСнСниС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Python

Π’ Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ chdir() .

Новый ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ прСдоставлСн этому ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π² Π²ΠΈΠ΄Π΅ строки. И ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΡΠΌΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ /, Ρ‚Π°ΠΊ ΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΠΊΠΎΡΡƒΡŽ Ρ‡Π΅Ρ€Ρ‚Ρƒ \ для раздСлСния элСмСнтов ΠΏΡƒΡ‚ΠΈ.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

 import os
# ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
os. chdir('C:\\Python33')
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (os.getcwd())
Π’Ρ‹Π²ΠΎΠ΄: C:\Python33 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ chdir() для измСнСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ строки Π½Π° Ρ‡Π΄ΠΈΡ€() .


Бписок ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Python

ВсС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° listdir() .

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎ этому ΠΏΡƒΡ‚ΠΈ.

Если ΠΏΡƒΡ‚ΡŒ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ ОБ
ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (os.getcwd())
C:\ΠŸΠΈΡ‚ΠΎΠ½33
# список всСх ΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²
os.listdir()
['DLL',
'Π”ΠΎΠΊ',
'Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ',
'Π›ΠΈΠ±',
'Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ',
'Π›Π˜Π¦Π•ΠΠ—Π˜Π―.txt',
'ΠΠžΠ’ΠžΠ‘Π’Π˜.txt',
'python.exe',
'pythonw.exe',
'README.txt',
'Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹',
'Ρ‚ΠΊΠ»',
'Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹']
os.listdir('G:\\')
['$RECYCLE.BIN',
'Кино',
'ΠœΡƒΠ·Ρ‹ΠΊΠ°',
'Π€ΠΎΡ‚ΠΎ',
'Ряд',
Β«Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ систСмном Ρ‚ΠΎΠΌΠ΅Β»] 

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π² Python

Π’ Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ mkdir() .

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ. Если ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ создаСтся Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅.

 os.mkdir('тСст')
os.listdir()
['test'] 

ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°

ΠœΠ΅Ρ‚ΠΎΠ΄ rename() ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ».

Для пСрСимСнования любого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π°, rename() ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° основных Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°:

  • староС имя Π² качСствС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°
  • Π½ΠΎΠ²ΠΎΠ΅ имя Π² качСствС Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π°.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€,

 import os
os.listdir()
['тСст']
# ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³
os.rename('тСст','new_one')
os.listdir()
['new_one'] 

Π—Π΄Π΅ΡΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ 'test ‘ пСрСимСновываСтся Π² 'new_one' с использованиСм ΠΌΠ΅Ρ‚ΠΎΠ΄Π° rename() .


Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Π° Π² Python

Π’ Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ remove() ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ rmdir() для удалСния Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.

Π‘Π½Π°Ρ‡Π°Π»Π° Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ remove() для удалСния Ρ„Π°ΠΉΠ»Π°,

 import os
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» "myfile.txt"
os.remove("myfile.txt") 

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ remove() для удалСния Ρ„Π°ΠΉΠ»Π° "myfile.txt" .

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ rmdir() для удалСния пустого ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°,

 import os
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ пустой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ "mydir"
os.rmdir("mydir") 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСпустой ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ rmtree() Π²Π½ΡƒΡ‚Ρ€ΠΈ модуля Shutil . НапримСр,

 ΠΈΠΌΠΏΠΎΡ€Ρ‚Π½Ρ‹ΠΉ ΡˆΠ°Ρ‚Ρ‚Π»
# ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ "mydir" ΠΈ всС Π΅Π³ΠΎ содСрТимоС
Shutil.rmtree("mydir") 

Π’Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ эти Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, поэтому ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ остороТны ΠΏΡ€ΠΈ ΠΈΡ… использовании.

Π§Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ запись Ρ„Π°ΠΉΠ»ΠΎΠ² CSV

Π’ этом руководствС ΠΌΡ‹ научимся Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ CSV Π² Python с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ².

Π€ΠΎΡ€ΠΌΠ°Ρ‚ CSV (значСния, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ запятыми) β€” ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых простых ΠΈ распространСнных способов хранСния Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» CSV, ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ сохранСн с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ .csv .

Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Если Π²Ρ‹ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ CSV-Ρ„Π°ΠΉΠ» с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°, Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΠΎΠ·Π²Ρ‹ΡˆΠ΅Π½Π½Ρ‹ΠΉ тСкст, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅:

  Π‘Π΅Ρ€ΠΈΠΉΠ½Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€, Имя, Π“ΠΎΡ€ΠΎΠ΄
1, Майкл, Нью-ДТСрси
2, Π”ΠΆΠ΅ΠΊ, ΠšΠ°Π»ΠΈΡ„ΠΎΡ€Π½ΠΈΡ
  

Как Π²ΠΈΠ΄ΠΈΡ‚Π΅, элСмСнты Ρ„Π°ΠΉΠ»Π° CSV Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ запятыми. Π—Π΄Π΅ΡΡŒ, , β€” это Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ любой символ Π² качСствС раздСлитСля Π² соотвСтствии с вашими потрСбностями.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: ΠœΠΎΠ΄ΡƒΠ»ΡŒ csv Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для Ρ„Π°ΠΉΠ»ΠΎΠ² с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: .txt ), Ссли ΠΈΡ… содСрТимоС ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ структуру.

Π Π°Π±ΠΎΡ‚Π° с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ CSV Π² Python

Π₯отя ΠΌΡ‹ ΠΌΠΎΠ³Π»ΠΈ Π±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ open() для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ CSV Π² Python, сущСствуСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ csv , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ CSV.

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ смоТСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ модуля csv , Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ сначала ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ:

 import csv
 

Π§Ρ‚Π΅Π½ΠΈΠ΅ CSV-Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ csv.

reader()

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ CSV-Ρ„Π°ΠΉΠ» Π² Python, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ csv.reader() . ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» csv с ΠΈΠΌΠ΅Π½Π΅ΠΌ people.csv Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ записями.

Имя Возраст ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ
Π”ΠΎΠΌΠΊΡ€Π°Ρ‚ 23 Π”ΠΎΠΊΡ‚ΠΎΡ€
ΠœΠΈΠ»Π»Π΅Ρ€ 22 Π˜Π½ΠΆΠ΅Π½Π΅Ρ€

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅ΠΌ этот Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ csv.reader() :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π§Ρ‚Π΅Π½ΠΈΠ΅ CSV с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ-запятой

 import csv
с open('people.csv', 'r') Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°:
    Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ = csv.reader (Ρ„Π°ΠΉΠ»)
    для строки Π² Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅:
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (строка)
 

Π’Ρ‹Ρ…ΠΎΠ΄

  ['Имя', 'Возраст', 'ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ']
['Π”ΠΆΠ΅ΠΊ', '23', 'Π”ΠΎΠΊΡ‚ΠΎΡ€']
['ΠœΠΈΠ»Π»Π΅Ρ€', '22', 'Π˜Π½ΠΆΠ΅Π½Π΅Ρ€']
  

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Ρ„Π°ΠΉΠ» people.csv Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ чтСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ:

 с open('people. csv', 'r') Π² качСствС Ρ„Π°ΠΉΠ»Π°:
    .. .. ...
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Python, посСтитС: Python File Input/Output

Π—Π°Ρ‚Π΅ΠΌ csv.reader() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для чтСния Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ повторяСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ reader .

9Π—Π°Ρ‚Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ 0007 reader повторяСтся с использованиСм Ρ†ΠΈΠΊΠ»Π° for для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ содСрТимого ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки.


Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ csv.reader() Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для Ρ„Π°ΠΉΠ»ΠΎΠ² CSV с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ-запятой.

Однако эта функция Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ настраиваСма.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, наш CSV-Ρ„Π°ΠΉΠ» ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π² качСствС раздСлитСля Π²ΠΊΠ»Π°Π΄ΠΊΡƒ . Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ csv.reader() . Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2. Π§Ρ‚Π΅Π½ΠΈΠ΅ CSV-Ρ„Π°ΠΉΠ»Π° с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ табуляции

 Π˜ΠΌΠΏΠΎΡ€Ρ‚ csv
с open('people.csv', 'r',) Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°:
    Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΡŒ = csv.reader (Ρ„Π°ΠΉΠ», Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ = '\ t')
    для строки Π² Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»Π΅:
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (строка)
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ delimiter = '\t' Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅.


ΠŸΠΎΠ»Π½Ρ‹ΠΉ синтаксис Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ csv.reader() :

Как Π²ΠΈΠ΄Π½ΠΎ ΠΈΠ· синтаксиса, ΠΌΡ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π° Π² функция csv.reader() . ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ позволяСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΎΠΉ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС, посСтитС: Π§Ρ‚Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² CSV Π² Python.


Π—Π°ΠΏΠΈΡΡŒ CSV-Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ csv.writer()

Для записи Π² CSV-Ρ„Π°ΠΉΠ» Π² Python ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ csv.writer() .

Ѐункция csv.writer() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Writer , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² строку с раздСлитСлями. ПозТС эту строку ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для записи Π² CSV-Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ функция writerow() . Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: запись Π² Ρ„Π°ΠΉΠ» CSV

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ csv
с open('protagonist.csv', 'w', newline='') Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°:
    ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = csv.writer (Ρ„Π°ΠΉΠ»)
    Writer.writerow(["SN", "Ѐильм", "Π“Π»Π°Π²Π½Ρ‹ΠΉ Π³Π΅Ρ€ΠΎΠΉ"])
    author.writerow([1, "ВластСлин ΠΊΠΎΠ»Π΅Ρ†", "Π€Ρ€ΠΎΠ΄ΠΎ Бэггинс"])
    author. writerow([2, "Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€", "Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€"])
 

Когда ΠΌΡ‹ запускаСм ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, создаСтся Ρ„Π°ΠΉΠ» protagonist.csv со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТимым:

  SN, Ρ„ΠΈΠ»ΡŒΠΌ, Π³Π»Π°Π²Π½Ρ‹ΠΉ Π³Π΅Ρ€ΠΎΠΉ
1, ВластСлин ΠΊΠΎΠ»Π΅Ρ†, Π€Ρ€ΠΎΠ΄ΠΎ Бэггинс
2, Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€, Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€
  

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΡ‹ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΈ Ρ„Π°ΠΉΠ» Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ записи.

Π—Π°Ρ‚Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π»ΠΈ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΊΠ°ΠΊ список. Π­Ρ‚ΠΈ списки ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² строку с раздСлитСлями ΠΈ Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Ρ„Π°ΠΉΠ» CSV.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 4: Π—Π°ΠΏΠΈΡΡŒ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… строк с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ writerows()

Если Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ содСрТимоС Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ списка Π² Ρ„Π°ΠΉΠ» CSV, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ CSV
csv_rowlist = [["SN", "Ѐильм", "Π“Π»Π°Π²Π½Ρ‹ΠΉ Π³Π΅Ρ€ΠΎΠΉ"], [1, "ВластСлин ΠΊΠΎΠ»Π΅Ρ†", "Π€Ρ€ΠΎΠ΄ΠΎ Бэггинс"],
               [2, Β«Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€Β», Β«Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€Β»]]
с open('protagonist.csv', 'w') Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°:
    ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = csv.writer (Ρ„Π°ΠΉΠ»)
    ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ.writerows (csv_rowlist)
 

Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3 .

Π—Π΄Π΅ΡΡŒ наш Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ список пСрСдаСтся ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ write.writerows() для записи содСрТимого списка Π² Ρ„Π°ΠΉΠ» CSV.


ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 5: Π—Π°ΠΏΠΈΡΡŒ Π² Ρ„Π°ΠΉΠ» CSV с Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»Π΅ΠΌ табуляции

 import csv
с open('protagonist.csv', 'w') Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°:
    ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = csv.writer (Ρ„Π°ΠΉΠ», Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ = '\ t')
    Writer.writerow(["SN", "Ѐильм", "Π“Π»Π°Π²Π½Ρ‹ΠΉ Π³Π΅Ρ€ΠΎΠΉ"])
    author.writerow([1, "ВластСлин ΠΊΠΎΠ»Π΅Ρ†", "Π€Ρ€ΠΎΠ΄ΠΎ Бэггинс"])
    author.writerow([2, "Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€", "Π“Π°Ρ€Ρ€ΠΈ ΠŸΠΎΡ‚Ρ‚Π΅Ρ€"])
 

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ delimiter = '\t' Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ csv.writer() .


ΠŸΠΎΠ»Π½Ρ‹ΠΉ синтаксис csv.writer () функция:

 csv.writer (csvfile, Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚ = 'excel', ** Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅_ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹)
 

Подобно csv.reader() , Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ csv.writer() , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π±ΠΎΠ»Π΅Π΅ настраиваСмой. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС, посСтитС: НаписаниС CSV-Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Python


Python csv.

DictReader() Class

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса csv.DictReader() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для чтСния CSV-Ρ„Π°ΠΉΠ»Π° Π² качСствС словаря.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 6: Python csv.DictReader()

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΆΠ΅ Ρ„Π°ΠΉΠ» people.csv , Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1 .

Имя Возраст ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ
Π”ΠΎΠΌΠΊΡ€Π°Ρ‚ 23 Π”ΠΎΠΊΡ‚ΠΎΡ€
ΠœΠΈΠ»Π»Π΅Ρ€ 22 Π˜Π½ΠΆΠ΅Π½Π΅Ρ€

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ csv.DictReader() .

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ CSV
с open("people.csv", 'r') Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°:
    csv_file = csv.DictReader(Ρ„Π°ΠΉΠ»)
    для строки Π² csv_file:
        ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π΄ΠΈΠΊΡ‚ (строка))
 

Π’Ρ‹Ρ…ΠΎΠ΄

  {'Имя': 'Π”ΠΆΠ΅ΠΊ', 'Возраст': '23', 'ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ': 'Π”ΠΎΠΊΡ‚ΠΎΡ€'}
{'Имя': 'ΠœΠΈΠ»Π»Π΅Ρ€', 'Возраст': '22', 'ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ': 'Π˜Π½ΠΆΠ΅Π½Π΅Ρ€'}
  

Как ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, записи ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ словаря. И записи Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… строках ΡΠ²Π»ΡΡŽΡ‚ΡΡ значСниями словаря.

Π—Π΄Π΅ΡΡŒ csv_file β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ csv.DictReader() . ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π° for . csv.DictReader() Π²Π΅Ρ€Π½ΡƒΠ» Ρ‚ΠΈΠΏ OrderedDict для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки. Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΌΡ‹ использовали dict() для прСобразования ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ явно использовали ΠΌΠ΅Ρ‚ΠΎΠ΄ dict() для создания словарСй Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° for .

 ΠΏΠ΅Ρ‡Π°Ρ‚ΡŒ (Π΄ΠΈΠΊΡ‚ (строка))
 

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ . Начиная с Python 3.8, csv.DictReader() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки, ΠΈ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ явно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ dict() .


ΠŸΠΎΠ»Π½Ρ‹ΠΉ синтаксис csv.DictReader() класс:

 csv.DictReader(Ρ„Π°ΠΉΠ», ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ=НСт, restkey=НСт, restval=НСт, Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚='excel', *args, **kwds)
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± этом, посСтитС: Python csv.DictReader() class


Python csv.DictWriter() Class

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ класса csv. DictWriter() ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для записи Π² CSV Ρ„Π°ΠΉΠ» ΠΈΠ· словаря Python.

ΠœΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ синтаксис класса csv.DictWriter() :

 csv.DictWriter(file, fieldnames)
 

Π—Π΄Π΅ΡΡŒ,

  • Ρ„Π°ΠΉΠ» — CSV Ρ„Π°ΠΉΠ» ΠΊΡƒΠ΄Π° ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ
  • ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ списка , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ столбцов, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠ΅ порядок, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ записаны Π² Ρ„Π°ΠΉΠ» CSV

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 7: Python csv.DictWriter()

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ csv
с open('players.csv', 'w', newline='') Π² Π²ΠΈΠ΄Π΅ Ρ„Π°ΠΉΠ»Π°:
    fieldnames = ['player_name', 'fide_rating']
    ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ = csv.DictWriter (Ρ„Π°ΠΉΠ», ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ = ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ)
    ΠΏΠΈΡΠ°Ρ‚Π΅Π»ΡŒ.writeheader()
    Writer.writerow({'player_name': 'ΠœΠ°Π³Π½ΡƒΡ ΠšΠ°Ρ€Π»ΡΠ΅Π½', 'fide_rating': 2870})
    Writer.writerow({'player_name': 'Π€Π°Π±ΠΈΠ°Π½ΠΎ ΠšΠ°Ρ€ΡƒΠ°Π½Π°', 'fide_rating': 2822})
    Writer.writerow({'player_name': 'Π”ΠΈΠ½ Π›ΠΈΠΆΡΠ½ΡŒ', 'fide_rating': 2801})
 

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° создаСт Ρ„Π°ΠΉΠ» player. csv со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ записями:

  player_name,fide_rating
ΠœΠ°Π³Π½ΡƒΡ ΠšΠ°Ρ€Π»ΡΠ΅Π½, 2870
Π€Π°Π±ΠΈΠ°Π½ΠΎ ΠšΠ°Ρ€ΡƒΠ°Π½Π°, 2822 Π³.
Π”ΠΈΠ½ Π›ΠΈΠΆΡΠ½ΡŒ, 2801
  

ΠŸΠΎΠ»Π½Ρ‹ΠΉ синтаксис класса csv.DictWriter() :

 csv.DictWriter(f, ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ, restval='', extrasaction='raise', Π΄ΠΈΠ°Π»Π΅ΠΊΡ‚='excel', *args, * *kwds)
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС ΠΎΠ± этом, посСтитС: Python csv.DictWriter() class


ИспользованиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Pandas для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² CSV

Pandas β€” это популярная Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Python для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌΠΈ объСмами Π΄Π°Π½Π½Ρ‹Ρ…, для простоты ΠΈ эффСктивности Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pandas для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ CSV-Ρ„Π°ΠΉΠ»ΠΎΠ².

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ смоТСм ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ pandas, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ·Π½Π°Ρ‚ΡŒ большС, посСтитС: Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Pandas?

ПослС установки ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Pandas ΠΊΠ°ΠΊ:

 ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ pandas ΠΊΠ°ΠΊ pd
 

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» CSV с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ pandas, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ read_csv() 9Ѐункция 0008.

ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *