🐍 Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 15: ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой

Научимся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ, ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Π° Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ – Ρ€Π΅ΡˆΠΈΠΌ 10 практичСских Π·Π°Π΄Π°Ρ‡, связанных с Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΈ с записью Π΄Π°Π½Π½Ρ‹Ρ… Π² тСкстовыС Ρ„Π°ΠΉΠ»Ρ‹.

🐍 Π‘Π°ΠΌΠΎΡƒΡ‡ΠΈΡ‚Π΅Π»ΡŒ ΠΏΠΎ Python для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. Π§Π°ΡΡ‚ΡŒ 15: ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой

ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π² Python

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмой Π² Python ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ os, os.path ΠΈ shututil, Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ – встроСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ open(), close(), read(), readline(), write() ΠΈ Ρ‚. Π΄. ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌ использования ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ – ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌ.

Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Python считаСт Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ стандартный для Windows Ρ„ΠΎΡ€ΠΌΠ°Ρ‚: Ссли ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π² ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ 'C:\Users\User\Python\letters.py', ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ. Π›ΡƒΡ‡ΡˆΠ΅ всСго ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ r-строк ΠΈΠ»ΠΈ с экранированиСм слэшСй:

r'C:\Users\User\Python\letters.py'
'C:\\Users\\User\\Python\\letters.py'

Иногда Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡƒΡ‚ΡŒ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ с ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ слэшами:

'C:/Users/User/Python/letters.py'
🐍 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° питониста
Π‘ΠΎΠ»ΡŒΡˆΠ΅ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ² Π²Ρ‹ Π½Π°ΠΉΠ΄Π΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° питониста»
πŸπŸŽ“ Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° собСса ΠΏΠΎ Python
ΠŸΠΎΠ΄Ρ‚ΡΠ½ΡƒΡ‚ΡŒ свои знания ΠΏΠΎ Python Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° собСса ΠΏΠΎ PythonΒ»
🐍🧩 Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ Python
Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Python для ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π½Π° нашСм Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-ΠΊΠ°Π½Π°Π»Π΅ Β«Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ PythonΒ»

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Ρ„Π°ΠΉΠ»Π°Ρ… ΠΈ дирСкториях

ΠœΠ΅Ρ‚ΠΎΠ΄ getcwd() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ строки:

>>> import os
>>> os.getcwd()
'C:\\Users\\User\\Python'

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° os.listdir() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, ΠΏΡ€ΠΈ этом содСрТимоС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΏΠΎΠΊ Π½Π΅ отобраТаСтся:

>>> os.listdir()
['Data', 'lambda_functions.py', 'letters.py', 'os_methods.py', 'passw_generator.py', 'points.py', 'population.py']

ΠœΠ΅Ρ‚ΠΎΠ΄ os.walk() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится вся информация ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ содСрТимоС всСх ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ:

>>> import os
>>> my_cwd = os.getcwd()
>>> result = os.walk(my_cwd)
>>> for i, j, k in result:
    for file in k:
        print(file)
        
lambda_functions.py
letters.py
os_methods.py
passw_generator.py
points.py
population.py
books_to_process.txt
challenge_data.txt
ledger.txt

Много ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² содСрТится Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ os.path. Π’Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ· ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΡƒΡ‚ΠΈ:

>>> os.path.basename(r'C:\Users\User\Python\letters.py')
'letters.py'

А Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΊ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ / Ρ„Π°ΠΉΠ»Ρƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ собствСнно поддирСктория ΠΈΠ»ΠΈ имя Ρ„Π°ΠΉΠ»Π°:

>>> os.path.dirname(r'C:\Users\User\Python\Data')
'C:\\Users\\User\\Python'

ΠœΠ΅Ρ‚ΠΎΠ΄ path.isabs() ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, являСтся Π»ΠΈ ΠΏΡƒΡ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ:

>>> os.path.isabs(r'C:\Users\User\Python\Data')
True
>>> os.path.isabs(r'.\Python\Data')
False
>>>

ΠœΠ΅Ρ‚ΠΎΠ΄ path.isdir() Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ True, Ссли пСрСданная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ дирСктория сущСствуСт, ΠΈ False – Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС:

>>> os.path.isdir(r'C:\Users\User\Python\Data\Samples')
False

Для установлСния Ρ„Π°ΠΊΡ‚Π° сущСствования Ρ„Π°ΠΉΠ»Π° слуТит path.isfile():

>>> os.path.isfile(r'C:\Users\User\Python\matrix_challenge.py')
False

Для прСобразования ΠΏΡƒΡ‚ΠΈ Π² Π½ΠΈΠΆΠ½ΠΈΠΉ рСгистр ΠΈ Π½ΠΎΡ€ΠΌΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ слэшСй ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ path.normcase():

>>> os.path.normcase('C:/Users/User/Python')
'c:\\users\\user\\python'

Π₯отя ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ (Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ) прСдставляСт собой строку, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΠΈ считаСтся ΠΌΠΎΠ²Π΅Ρ‚ΠΎΠ½ΠΎΠΌ – Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ os.path.join():

# ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ:
my_cwd = os.getcwd()
file_name = 'my_solution.py'
path = my_cwd + '\\' + file_name

# ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ:
path = os.path.join(my_cwd, file_name)

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

C:\Users\User\Python\my_solution.py

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ Π² Python

Для создания Π½ΠΎΠ²Ρ‹Ρ… Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ слуТит os.mkdir(); Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰ΠΈΠΉ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°:

import os
my_cwd = os.getcwd()
new_dir = 'Solutions'
path = os.path.join(my_cwd, new_dir)
os.mkdir(path)
print(os.listdir())

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

['Data', 'lambda_functions.py', 'letters.py', 'os_methods.py', 'passw_generator.py', 'points.py', 'population.py', 'Solutions']

Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° os.chdir(), это Π°Π½Π°Π»ΠΎΠ³ CLI ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ cd:

>>> import os
>>> os.getcwd()
'C:\\Users\\User\\Python'
>>> os.chdir(r'C:\Users\User\Python\Data')
>>> os.getcwd()
'C:\\Users\\User\\Python\\Data'

ИспользованиС os.chdir() ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкС, Ссли ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΉ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΡƒΠΊΠ°Π·Π°Π½ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈΠ»ΠΈ Π½Π΅ сущСствуСт. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ стоит ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ошибок:

import sys, os

my_cwd = os.getcwd()
new_cwd = r'C:\Users\User\Python\MyData'

try:
    os.chdir(new_cwd)
    print(f'ИзмСняСм Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° {os.getcwd()}')
except:
    print(f'ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка {sys.exc_info()}')
finally:
    print('ВосстанавливаСм Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° ΠΏΡ€Π΅ΠΆΠ½ΡŽΡŽ')
    os.chdir(my_cwd)
    print(f'ВСкущая рабочая дирСктория - {os.getcwd()}')

Π’Ρ‹Π²ΠΎΠ΄:

ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка (<class 'FileNotFoundError'>, FileNotFoundError(2, 'НС удаСтся Π½Π°ΠΉΡ‚ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ»'), <traceback object at 0x024E9828>)
ВосстанавливаСм Ρ€Π°Π±ΠΎΡ‡ΡƒΡŽ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π½Π° ΠΏΡ€Π΅ΠΆΠ½ΡŽΡŽ
ВСкущая рабочая дирСктория - C:\Users\User\Python
Python для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ²: бСссрочный доступ ΠΊ знаниям ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° экспСртов
Онлайн-курс Β«ΠžΡΠ½ΠΎΠ²Ρ‹ программирования Π½Π° PythonΒ» ΠΎΡ‚ Proglib academy ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ 32 практичСских ΡƒΡ€ΠΎΠΊΠ° с ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связью ΠΎΡ‚ экспСртов, Π³Π΄Π΅ Π²Ρ‹ создадитС 4 Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° для ΠΏΠΎΡ€Ρ‚Ρ„ΠΎΠ»ΠΈΠΎ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π½Π°Π²Ρ‹ΠΊΠΈ для старта ΠΊΠ°Ρ€ΡŒΠ΅Ρ€Ρ‹ Π² IT.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ Π² Python

Для создания Π½ΠΎΠ²Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π΄Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • os.mkdir() – Π°Π½Π°Π»ΠΎΠ³ CLI ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mkdir; создаСт Π½ΠΎΠ²ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡƒ ΠΏΡƒΡ‚ΠΈ, ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ всС ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ (Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅) Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚.
  • os.makedirs() – Π°Π½Π°Π»ΠΎΠ³ CLI ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ mkdir -p dir1\dir2; ΠΏΠΎΠΌΠΈΠΌΠΎ создания Ρ†Π΅Π»Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ, создаСт всС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, Ссли ΠΎΠ½ΠΈ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования os.mkdir():

import os
new_dir = 'NewProjects'
parent_dir = r 'C:\Users\User\Python'
path = os.path.join(parent_dir, new_dir)
os.mkdir(path)
print(f'ДирСктория {new_dir} создана: {os.listdir()}')

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ДирСктория NewProjects создана: ['Data', 'lambda_functions.py', 'letters.py', 'NewProjects', 'os_methods.py', 'Other', 'passw_generator.py', 'points.py', 'population.py', 'Solutions']

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования makedirs():

import os
new_dir = 'Django'
parent_dir = r'C:\Users\User\Python\Other\Projects\Modules'
path = os.path.join(parent_dir, new_dir)
os.makedirs(path)
print(f'ДирСктория {new_dir} создана ΠΏΠΎ адрСсу {os.path.dirname(path)}')

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ДирСктория Django создана ΠΏΠΎ адрСсу C:\Users\User\Python\Other\Projects\Modules

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ Π² Python

Для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ shutil.copy2(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Π° – источник Ρ„Π°ΠΉΠ»Π° ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»:

import os
import shutil
dest_path = r'C:\Users\User\Python\Data'
source_path = r'C:\Users\User\lambda_exp.txt'
print(f'Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} Π΄ΠΎ копирования Ρ„Π°ΠΉΠ»Π° \
{os.path.basename(source_path)}: {os.listdir(dest_path)}\n')
copy_file = shutil.copy2(source_path, dest_path)
print(f'Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} послС копирования Ρ„Π°ΠΉΠ»Π° \
{os.path.basename(source_path)}: {os.listdir(dest_path)}')

Π’Ρ‹Π²ΠΎΠ΄:

Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Data Π΄ΠΎ копирования Ρ„Π°ΠΉΠ»Π° lambda_exp.txt: ['books_to_process.txt', 'challenge_data.txt', 'ledger.txt']
Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Data послС копирования Ρ„Π°ΠΉΠ»Π° lambda_exp.txt: ['books_to_process.txt', 'challenge_data.txt', 'lambda_exp.txt', 'ledger.txt']

Помимо ΠΌΠ΅Ρ‚ΠΎΠ΄Π° shutil.copy2(), для копирования Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ shutil.copy(). Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ shutil.copy2(), ΠΌΠ΅Ρ‚ΠΎΠ΄ shutil.copy() ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ содСрТимоС Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ Π½Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅:

import os
import shutil
dest_path = r'C:\Users\User\Python\Data'
source_path = r'C:\Users\User\logfile.txt'
print(f'Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} Π΄ΠΎ копирования Ρ„Π°ΠΉΠ»Π° \
{os.path.basename(source_path)}: {os.listdir(dest_path)}\n')
print(f'ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅: {os.stat(source_path)}\n')
copy_file = shutil.copy(source_path, dest_path)
print(f'Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} послС копирования Ρ„Π°ΠΉΠ»Π° \
{os.path.basename(source_path)}: {os.listdir(dest_path)}\n')
print(f'ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅: {os.stat(dest_path)}\n')

Π’Ρ‹Π²ΠΎΠ΄:

Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Data Π΄ΠΎ копирования Ρ„Π°ΠΉΠ»Π° logfile.txt: ['books_to_process.txt', 'challenge_data.txt', 'lambda_exp.txt']
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅: os.stat_result(st_mode=33206, st_ino=18014398509552989, st_dev=4236505663, st_nlink=1, st_uid=0, st_gid=0, st_size=455, st_atime=1629682315, st_mtime=1629681887, st_ctime=1629682315)
Π€Π°ΠΉΠ»Ρ‹ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Data послС копирования Ρ„Π°ΠΉΠ»Π° logfile.txt: ['books_to_process.txt', 'challenge_data.txt', 'lambda_exp.txt', 'logfile.txt']
ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅: os.stat_result(st_mode=16895, st_ino=11821949021901021, st_dev=4236505663, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1675257729, st_mtime=1675257729, st_ctime=1675084801)

ВсС содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° сразу ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ shutil.copytree():

import os
import shutil
dest_path = r'C:\Users\User\Python\Other\Files'
source_path = r'C:\Users\User\Python\Other\Scripts'
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} Π΄ΠΎ копирования ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° \
{os.path.basename(source_path)}: {os.listdir(dest_path)}\n')
copy_dir = shutil.copytree(source_path, dest_path, dirs_exist_ok=True)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} послС копирования \
{os.path.basename(source_path)}: {os.listdir(dest_path)}\n')

Π’Ρ‹Π²ΠΎΠ΄:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Files Π΄ΠΎ копирования ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Scripts: []
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Files послС копирования Scripts: ['progression.py', 'sitemap_generator.py']

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

Для пСрСмСщСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ shutil.move():

import os
import shutil
dest_path = r'C:\Users\User\Python\Other\Scripts'
source_path = r'C:\Users\User\Desktop\sitemap_generator.py'
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} Π΄ΠΎ копирования ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° \
{os.path.basename(source_path)}: {os.listdir(dest_path)}\n')
copy_dir = shutil.move(source_path, dest_path)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dest_path)} послС копирования \
{os.path.basename(source_path)}: {os.listdir(dest_path)}\n')

Π’Ρ‹Π²ΠΎΠ΄:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Scripts Π΄ΠΎ копирования ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° sitemap_generator.py: ['progression.py', 'wiki_scraping.py']
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Scripts послС копирования sitemap_generator.py: ['progression.py', 'sitemap_generator.py', 'wiki_scraping.py']

Для пСрСмСщСния содСрТимого всСй Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π² качСствС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ shutil.copytree():

copy_dir = shutil.move(source_path, dest_path, copy_function = shutil.copytree)

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

Для удалСния Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ вмСстС со всСми Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ shutil.rmtree():

import os
import shutil
dir_path = r'C:\Users\User\Python\Other'
remove_dir = 'Files'
path = os.path.join(dir_path, remove_dir)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dir_path)} Π΄ΠΎ удалСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° \
{remove_dir}: {os.listdir(dir_path)}\n')
shutil.rmtree(path)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dir_path)} послС удалСния \
{remove_dir}: {os.listdir(dir_path)}\n')

Π’Ρ‹Π²ΠΎΠ΄:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Other Π΄ΠΎ удалСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Files: ['Files', 'Projects']
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Other послС удалСния Files: ['Projects']

Π”Ρ€ΡƒΠ³ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для удалСния пустых Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΉ – os.rmdir():

import os
import shutil
dir_path = r'C:\Users\User\Python\Other'
remove_dir = 'Scripts'
path = os.path.join(dir_path, remove_dir)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dir_path)} Π΄ΠΎ удалСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° \
{remove_dir}: {os.listdir(dir_path)}\n')
os.rmdir(path)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dir_path)} послС удалСния \
{remove_dir}: {os.listdir(dir_path)}\n')

Π’Ρ‹Π²ΠΎΠ΄:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Other Π΄ΠΎ удалСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Scripts: ['Projects', 'Scripts']
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Other послС удалСния Scripts: ['Projects']

ΠžΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ минус ΠΌΠ΅Ρ‚ΠΎΠ΄Π° os.rmdir() Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° пустых дирСкториях – Ссли ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ Scripts хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ», ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с os.rmdir() ΡƒΠΆΠ΅ Π½Π΅ получится:

Traceback (most recent call last):
  File "C:\Users\User\Python\os_methods.py", line 8, in <module>
    os.rmdir(path)
OSError: [WinError 145] Папка Π½Π΅ пуста: 'C:\\Users\\User\\Python\\Other\\Scripts'

Для удалСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ os.remove():

import os
import shutil
dir_path = r'C:\Users\User\Python\Other\Scripts'
remove_file = 'tetris_game.py'
path = os.path.join(dir_path, remove_file)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dir_path)} Π΄ΠΎ удалСния Ρ„Π°ΠΉΠ»Π° \
{remove_file}: {os.listdir(dir_path)}\n')
os.remove(path)
print(f'Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ {os.path.basename(dir_path)} послС удалСния \
{remove_file}: {os.listdir(dir_path)}\n')

Π’Ρ‹Π²ΠΎΠ΄:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Scripts Π΄ΠΎ удалСния Ρ„Π°ΠΉΠ»Π° tetris_game.py: ['tetris_game.py']
Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Scripts послС удалСния tetris_game.py: []
***

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ! Π’Ρ‹ Π½Π°ΡƒΡ‡ΠΈΠ»ΠΈΡΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ дирСкториями с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты для создания, копирования, пСрСмСщСния ΠΈ удалСния ΠΏΠ°ΠΏΠΎΠΊ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ Π½Π°Π²Ρ‹ΠΊ для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€ΡƒΡ‚ΠΈΠ½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡.

Но Ρ‡Ρ‚ΠΎ насчСт содСрТимого этих Ρ„Π°ΠΉΠ»ΠΎΠ²? Настоящая Ρ€Π°Π±ΠΎΡ‚Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ начинаСтся, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ заглядываСм Π²Π½ΡƒΡ‚Ρ€ΡŒ. Π’ ΠΏΠΎΠ»Π½ΠΎΠΉ вСрсии ΡƒΡ€ΠΎΠΊΠ° Π²Ρ‹ освоитС:

  • БСзопасноС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ with open() β€” Π·ΠΎΠ»ΠΎΡ‚ΠΎΠΉ стандарт Π² Python.
  • ВсС Ρ€Π΅ΠΆΠΈΠΌΡ‹ доступа ('r', 'w', 'a') для чтСния, ΠΏΠΎΠ»Π½ΠΎΠΉ пСрСзаписи ΠΈΠ»ΠΈ дозаписи Π² ΠΊΠΎΠ½Π΅Ρ† Ρ„Π°ΠΉΠ»Π°.
  • ΠŸΠΎΠ»Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для чтСния ΠΈ записи Π΄Π°Π½Π½Ρ‹Ρ…: read, readline, write ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅.
  • 10 практичСских Π·Π°Π΄Π°Ρ‡ ΠΏΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ тСкстовых Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΎΡ‚ парсинга Π»ΠΎΠ³ΠΎΠ² Π΄ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° Π΄Π°Π½Π½Ρ‹Ρ….

Π›Π£Π§Π¨Π˜Π• БВАВЬИ ПО Π’Π•ΠœΠ•

admin
11 дСкабря 2018

ООП Π½Π° Python: ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python допускаСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ»ΠΎΠ³ΠΈΠΈ, Π½ΠΎ Π² Π΅Π³ΠΎ основС...
admin
28 июня 2018

3 самых Π²Π°ΠΆΠ½Ρ‹Ρ… сфСры примСнСния Python: возмоТности языка

БущСствуСт мноТСство областСй примСнСния Python, Π½ΠΎ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ½ особСнно...
admin
13 фСвраля 2017

ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python: ΠΎΡ‚ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ° Π΄ΠΎ профСссионала

Пошаговая инструкция для всСх, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π° Python...