Найти - Пользователи
Полная версия: Ошибка открытия файла .txt
Начало » Центр помощи » Ошибка открытия файла .txt
1 2
lil_franche
Добрый день! Я только начинаю изучать язык, попалась такая задача (см. фото): считать цифры из одного файла, написать сумму в другой файл. Все 3 файла (input/output.txt и файл с решением lab_1.py) лежат в одной папке, однако при запуске выдаётся ошибка IOError: Errno 2 No such file or directory: ‘input.txt’. В чём может быть дело?
lil_franche
Вот текст программы

 data = open('input.txt')
output = open('output.txt', 'w')
data.read()
data.replace('\n', ' ')
data.split()
i=0
while i<len(data):
    res=int(data[i])+int(data[i+1])**2
    output.write(res + '\n')
    i+=2
output.close()
data.close() 
 
Tenebras
Для начала я вам посоветую не скриншотить экран, а копипастить инфу из консоли.
Зачем вам ЯП, если вы не можете выполнить базовые функции?
lil_franche
Tenebras
Для начала я вам посоветую не скриншотить экран, а копипастить инфу из консоли. Зачем вам ЯП, если вы не можете выполнить базовые функции?
Многие, кто начинает изучение, не могут выполнить те или иные функции. Что ж теперь, не учиться?

Спасибо насчёт скринов
Tenebras
Вы молодец! Но я вам ещё дам подсказку. В шапке редактора есть рисунок - свиток с символами <>.
Ткните в него и выбирайте PYTHON. И вставляйте ваш код! Попробуйте - вы приятно удивитесь!
Tenebras
Так не нужно:

 data = open('input.txt').read()


Можно так:

 data = open('input.txt')
lil_franche
Tenebras
Так не нужно:
Спасибо, исправлено. Однако не решает проблемы
Tenebras
Я не гуру - сам учусь. Но ваш код совершенно не верный. Вот в таком виде он работает. Проверил.

 #
data = open('input.txt')
output = open('output.txt', 'w')
ab = data.readline()
line = ab.split(' ')
x = int(line[0])
y = int(line[1])
z = x + y
output.write(str(z))
data.close()
output.close()
print z


ОБРАТИТЕ ВНИМАНИЕ!
Вы кавычки ставите как попало, чередуя их с апострофами. Так нельзя.
JOHN_16
lil_franche
Вы должны понимать что отправляя на исполнение программу вы должны в командной строке находится в той же (рабочей) директории что и программа. Почитайте об этом
Tenebras
Вы кавычки ставите как попало, чередуя их с апострофами. Так нельзя.
это потому что автор вставил текст без тегов code, особенности движка формума

Вот вам более элегантное и универсальное решение
 with open('input.txt') as f_in, open('output.txt', 'w') as f_out:
    for line in f_in:
        if line.strip():
            values = [int(x) for x in line.split()]
            f_out.write('{}\n'.format(sum(values)))
Tenebras
Думаю к вашему уровню надо прийти… а не сразу так вот в него)))
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB