i. Модуль ОС в python предоставляет функции для взаимодействия с операционной системой.

ii.OS входит в стандартные служебные модули Python.

iii. Этот модуль обеспечивает портативный способ использования функций, зависящих от операционной системы.

iv. Модули os и os.path включают множество функций для взаимодействия с файловой системой.

os.getcwd()

i. Он возвращает текущий рабочий каталог (CWD) файла, используемого для выполнения кода, может варьироваться от системы к системе.

синтаксис

import os 
  print(os.getcwd())

os.chdir(путь)

i.to изменить текущий рабочий каталог на путь.

синтаксис

import os 
os.chdir("/")

os.listdir(путь)

i. Он возвращает список, содержащий имена записей в каталоге, заданном путем.

синтаксис

import os 
os.listdir("/")

os.remove(путь)

я. удаляет путь к файлу. Если путь является каталогом, возникает OSError

синтаксис

import os 
os.remove("hello.txt")

os.rename(источник,назначение)

i. переименовывает исходный файл или каталог в место назначения.

ii.Если пунктом назначения является файл или каталог (уже присутствующий).

синтаксис

import os 
os.rename("hai.txt","hello.txt")

os.path.exits(путь)

i. Возвратите True, если путь ссылается на существующий путь, иначе False. Также верните False для неработающих символических ссылок.

синтаксис:

import os 
os.path.exits("/home/tarzan/homework/hellp.txt")

os.path.abspath(путь)

i.Вернуть нормализованную абсолютизированную версию пути пути.

синтаксис

import os
os.path.abspath("./tarzan/homework/")

os.path.relpath(path[,start])

i.Возвращает относительный путь к файлу из текущего каталога или из необязательной начальной точки.

синтаксис

import os 
os.path.relpath('/home/tarzan/')

os.path.isabs(путь)

i.Return True, если путь является абсолютным путем.

синтаксис

import os
os.path.isabs('/home/tarzan/')

os.path.isfile(путь)

i.Return True, если путь является существующим обычным файлом.

синтаксис

import os
os.path.isfile('/home/tarzan/hello.txt')

os.path.isdir(путь)

i.Return True, если путь является существующим каталогом.

синтаксис

import os
os.path.isdir('/home/tarzan/')

Обработка файлов

Файл

i.File — это именованное место в системном хранилище, которое записывает данные для последующего доступа.

ii.it обеспечивает постоянное хранение в энергонезависимой памяти, т.е. на жестком диске.

iii.Обработка файлов происходит в следующем порядке.

a.Откройте файл, который возвращает дескриптор файла.

b.Используйте дескриптор для выполнения действия чтения или записи.

в. Закройте дескриптор файла.

открыть()

i. Чтобы открыть файл в python, используйте встроенную функцию open().

ii.Эта функция возвращает файловый объект, т. е. дескриптор. Вы можете использовать его для чтения или изменения файла.

синтаксис

file object =open(file_name[,access_mode][,buffering])

i.file_name: строковое значение, содержащее имя файла, к которому вы хотите получить доступ.

ii.access_mode: режим, в котором файл должен быть открыт, т. е. чтение, запись, добавление и т. д. Это необязательный параметр, а режим доступа к файлу по умолчанию — чтение (r).

iii.buffering: строковое значение, содержащее имя файла, к которому вы хотите получить доступ.

Список режимов работы с файлами

r : открывает файл в режиме только для чтения, в то время как смещение файла остается в корне.

rb: открывает файл в режимах (двоичный + только для чтения). А смещение остается на корневом уровне.

r+: открывает файл в обоих режимах (чтение + запись), в то время как смещение файла снова находится на корневом уровне.

rb+ : открывает файл в режимах (чтение + запись + двоичный). Смещение файла снова находится на корневом уровне.

w: разрешает доступ на уровне записи к файлу. Если файл уже существует, он будет перезаписан. Он создаст новый файл, если такой же не существует.

wb : Используйте его, чтобы открыть файл для записи в двоичном формате. То же поведение, что и в режиме только для записи.

w+: открывает файл в обоих режимах (чтение + запись). То же поведение, что и в режиме только записи.

wb+ : открывает файл в режимах (чтение + запись + двоичный файл). Такое же поведение, как и в режиме только для записи.

a: открывает файл в режиме добавления. Смещение идет до конца файла. Если файл не существует, он создается.

ab : открывает файл в режимах (дополнение + двоичный). То же поведение, что и в режиме добавления.

a+: открывает файл в режимах (добавление + чтение). То же поведение, что и в режиме добавления.

ab+ : открывает файл в режимах (добавить + чтение + двоичный). То же поведение, что и в режиме добавления.

Атрибуты файлового объекта

file.closed :-Возвращает True, если файл закрыт, иначе false.

file.mode:-Возвращает режим доступа, с которым был открыт файл.

file.name:-Возвращает имя файла.

закрыть()

i. Методы close() файлового объекта очищают любую незаписанную информацию и закрывают файловый объект.

II. рекомендуется использовать метод close() для закрытия файла.

синтаксис

fileObject.close()

написать()

i. Методы write() записывают любую строку в открытый файл.

ii. Важно отметить, что строки Python могут содержать двоичные данные, а не только текстовые данные.

iii. Метод write() не добавляет символ новой строки («\n») в конец строки.

синтаксис

file_content = "Hello Tarzan"
fileObject.write(file_content)

чтение()

i. Метод read() читает строку из открытого файла.

ii. Важно отметить, что строки Python могут содержать двоичные данные, а не только текстовые данные.

синтаксис

fileObject.read([count])

i.count :количество байтов, которое нужно прочитать из открытого файла. Этот метод начинает чтение с начала файла, и если счетчик отсутствует, то он пытается прочитать как можно больше, до конца файла.

рассказать()

i. Методы tell() сообщают вам текущую позицию в файле.

ii. Другими словами, следующее чтение или запись произойдет на столько же байтов от начала файла.

синтаксис

fileObject.tell()

искать()

Метод i.seek(offset[,from]) изменяет текущую позицию в файле.

синтаксис

fileObject.seek(offset[,from])

i.offset: указывает количество перемещаемых байтов.

ii.from: указывает опорную позицию, из которой должны быть перемещены байты. Если from установлено в 0, начало файла используется в качестве эталонной позиции. контрольная позиция. Если установлено значение 2, то в качестве контрольной позиции будет взят конец файла.

Программа для создания базового калькулятора с помощью обработки файлов

import os

def add(num1, num2):
    return num1 + num2


def subtract(num1, num2):
    return num1 -num2


def multiply(num1, num2):
    return num1 * num2


def divide(num1, num2):
    return num1 / num2


def percentage(num1, num2):
    return (num1 / num2) * 100

def add_memory(num1,num2,select):
    f_add_memory = open('filehandling.txt','r')
    mem_operation = str(num1)+str(num2)+str(select)
    f_add_memory.write(mem_operation)


def clear_memory():
    open('filehandling','w').close()


def view_memory():
    file_view_memory = open('filehandling','r')
    print(file_view_memory.read())


#print("select operation")
#print("1.add")
#print("2.subtract")
#print("3.multiply")
#print("4.Divide")
#print("5.percentage")

while True:
    select = input("Select operation")

    number_1 = int(input("Enter first number"))
    number_2 = int(input("Enter Second number"))

    if select == 'add':
        print(number_1, "+", number_2, "=", add(number_1, number_2))
    elif select == 'subtract':
        print(number_1, "-", number_2,"=",subtract(number_1,number_2))
    elif select == 'multiply':
        print(number_1,"*",number_2,"=",multiply(number_1,number_2))
    elif select == 'divide':
        print(number_1,"/",number_2,"=",divide(number_1,number_2))
    elif select == 'percentage':
        print("% of",number_1,"&",number_2,"=",percentage(number_1,number_2))
    elif select == 'add_memory':
        add_memory(number_1,number_2,select)
    elif select == 'view_memory':
        view_memory()
        continue

    elif select == 'clear_memory':
        clear_memory()
        break
    else:
        print("invalid input")
        break