Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2018, 12:12   #1
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию где должны лежать input.txt и output.txt?

здравствуйте решил прикоснуться к Пайтону
хотел сделать пример отсюда: https://pythonworld.ru/primery-progr...ro-slovar.html
Суть задачи в том, чтобы из англо-латинского словаря сделать латино-английский.

Примеры тестов

Входные данные

3
apple - malum, pomum, popula
fruit - baca, bacca, popum
punishment - malum, multa
Выходные данные

7
baca - fruit
bacca - fruit
malum - apple, punishment
multa - punishment
pomum - apple
popula - apple
popum - fruit
Входные данные черпаются из input.txt, вывод сбрасывается в output.txt.

Кто так объясняет, не сказано, где должны лежать input.txt и output.txt??
и в самом коде тоже нет намёков, по моему в коде то и должны прописываться
Код:
f = open('input.txt')
N = f.readline()
d = {}
for line in f:
    words = line.strip().split(' - ')
    en = words[0]
    lat = words[1].split(', ')
    for key in lat:
        if key in d:
            d[key].append(en)
        else:
            d[key] = [en]
f.close()

for key in d:
    d[key].sort()


g = open('output.txt', 'w')
g.write(str(len(d)) + '\n')
for lat in sorted(d):
    g.write(lat + ' - ' + ', '.join(d[lat]) + '\n')

g.close()
ну и не обессудьте если потом в этом примере будут не понятки спрошу, так как главная мысль поста в сабже, спс
Ципихович Эндрю вне форума Ответить с цитированием
Старый 10.01.2018, 12:36   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
то так объясняет, не сказано, где должны лежать input.txt и output.txt??
по дефолту в папке проекта. Не?
https://stackoverflow.com/questions/...ault-directory
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 10.01.2018, 12:44   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В текущей папке. Относительные пути везде ж есть, а не только в Питоне.

cmd
Код:
cd C:\MyFolder
mkdir SomeFolder
dir
cd SomeFolder
echo some data > input.txt
dir
type input.txt
.........
python my_script.py
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 10.01.2018 в 12:46.
Alex11223 вне форума Ответить с цитированием
Старый 10.01.2018, 12:44   #4
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

а прописать по человечески можно? как? спс
Ципихович Эндрю вне форума Ответить с цитированием
Старый 10.01.2018, 13:01   #5
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
cd C:\MyFolder
mkdir SomeFolder
dir
cd SomeFolder
echo some data > input.txt
dir
type input.txt
.........
python my_script.py
я правильно понял, согласно этого кода, что файлы
input.txt
python my_script.py - со скриптом должны быть в папке
C:\MyFolder??
и это запускается cmd файлом?
а можно в самом скрипте описать это? зачем плодить ещё cmd? ну как вариант для понятия пусть будет и так ....
Ципихович Эндрю вне форума Ответить с цитированием
Старый 10.01.2018, 13:04   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это просто пример использования cmd иллюстрирующий относительные пути.

Зачем "cmd файл"? Просто cmd. Или PowerShell, или Bash.

А как вы без cmd запустите скрипт?
Ну если в IDE типа PyCharm, то там в настройках запуска Working Directory.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 10.01.2018 в 13:07.
Alex11223 вне форума Ответить с цитированием
Старый 10.01.2018, 13:12   #7
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

то есть полный код
Код:
cd C:\MyFolder
mkdir SomeFolder
dir
cd SomeFolder
echo some data > input.txt
dir
type input.txt

f = open('input.txt')
N = f.readline()
d = {}
for line in f:
    words = line.strip().split(' - ')
    en = words[0]
    lat = words[1].split(', ')
    for key in lat:
        if key in d:
            d[key].append(en)
        else:
            d[key] = [en]
f.close()

for key in d:
    d[key].sort()


g = open('output.txt', 'w')
g.write(str(len(d)) + '\n')
for lat in sorted(d):
    g.write(lat + ' - ' + ', '.join(d[lat]) + '\n')

g.close()
??
да пока запускаю файл по Эф5
Ципихович Эндрю вне форума Ответить с цитированием
Старый 10.01.2018, 13:15   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Создайте C:\MyFolder и выполните в cmd команды выше по одной для просветления.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 10.01.2018, 13:27   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Это
Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Код:
cd C:\MyFolder
mkdir SomeFolder
dir
cd SomeFolder
echo some data > input.txt
dir
type input.txt
код на языке командной оболочки Windows, (для батников, CMD файлов, командной строки Windows), никакого отношения к Питону он не имеет.

Вы пытаетесь смешать автомобиль (ваш код на питоне) и трассу (место, где выполняется ваш код). Это совсем разные вещи.


Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
да пока запускаю файл по Эф5
в какой программе Вы нажимаете F5 ?
В чём Вы выполняете ваш код на Питоне?
У Вас есть файл xxxxx.py ( с кодом программы) ?
Вы его запускаете?


можете положить файлы в любую папку и прописать путь.
например, создайте на диске C: папку MyFolder
туда положите файл input.txt
и измените код программы на

Код:
f = open('C:\\MyFolder\\input.txt')
N = f.readline()
d = {}
for line in f:
    words = line.strip().split(' - ')
    en = words[0]
    lat = words[1].split(', ')
    for key in lat:
        if key in d:
            d[key].append(en)
        else:
            d[key] = [en]
f.close()

for key in d:
    d[key].sort()


g = open('C:\\MyFolder\\output.txt', 'w')
g.write(str(len(d)) + '\n')
for lat in sorted(d):
    g.write(lat + ' - ' + ', '.join(d[lat]) + '\n')

g.close()
Serge_Bliznykov вне форума Ответить с цитированием
Старый 10.01.2018, 14:17   #10
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в какой программе Вы нажимаете F5 ?
c GUI дефолтного

ATT.jpg

Если код не сохранен в .ру то после нажатия Ф5 захочет сохранится, от тот каталог и дефолтный. имхо
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с текстовыми файлами (из Файла input.txt переписать слова в файл output.txt, удалив все слова, заданные в файле diction.dic Polina25 Паскаль, Turbo Pascal, PascalABC.NET 17 07.05.2014 17:49
Переделавание кода на считывание из файла в файл output.txt input.txt !!! airesjke Помощь студентам 0 29.05.2013 14:07