Как работать с файлами через IronPython?

Пользователь

от laney_johnson , в категории: Python , 10 дней назад

Как работать с файлами через IronPython?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от dayna , 9 дней назад

@laney_johnson 

IronPython - это реализация Python для платформы .NET, которая позволяет использовать возможности .NET из Python кода. Работа с файлами в IronPython происходит так же, как и в стандартном Python, поскольку основные функции для работы с файлами являются частью стандартной библиотеки Python. Вот несколько примеров:

Открытие и чтение файла

1
2
3
4
# Открываем и читаем файл
with open('example.txt', 'r', encoding='utf-8') as file:
    content = file.read()
    print(content)


Запись в файл

1
2
3
# Открываем и записываем данные в файл
with open('example.txt', 'w', encoding='utf-8') as file:
    file.write("Hello, IronPython!")


Построчное чтение файла

1
2
3
4
# Открытие и построчное чтение файла
with open('example.txt', 'r', encoding='utf-8') as file:
    for line in file:
        print(line.strip())


Использование возможностей .NET для работы с файлами

IronPython позволяет также использовать классы из .NET для работы с файлами, например, System.IO.File и System.IO.StreamReader.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
import clr
clr.AddReference("System")
from System.IO import File, StreamReader

# Чтение файла с использованием .NET
with StreamReader('example.txt') as reader:
    content = reader.ReadToEnd()
    print(content)

# Запись в файл с использованием .NET
File.WriteAllText('example.txt', 'Hello, .NET from IronPython!')


Обработка исключений

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

1
2
3
4
5
6
7
try:
    with open('nonexistent.txt', 'r', encoding='utf-8') as file:
        content = file.read()
except FileNotFoundError:
    print("File not found.")
except IOError as e:
    print(f"IO error: {e}")


Эти примеры демонстрируют базовые операции работы с файлами как средствами стандартной библиотеки Python, так и с использованием .NET функциональности через IronPython.