Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.
Внимание! Некоторое время письма не доходят до аккаунтов MAIL RU GROUP, не доходят на все почтовые ящики mail.ru, inbox.ru, bk.ru. Пишите им жалобы, чтобы быстрее восстановили получение писем, регистрируйтесь через яндекс почту и gmail, туда письма с активизацией доходят.

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

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

Ответ
 
Опции темы
Старый 10.01.2018, 13:12   #1
Ципихович Эндрю
Профессионал
 
Регистрация: 24.01.2011
Сообщений: 2,283
Репутация: 48
По умолчанию где должны лежать 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, 13:36   #2
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,485
Репутация: 885
По умолчанию

Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
то так объясняет, не сказано, где должны лежать input.txt и output.txt??
по дефолту в папке проекта. Не?
https://stackoverflow.com/questions/...ault-directory
__________________
Mailto: media.project@ukr.net
Aleksandr H. вне форума   Ответить с цитированием
Старый 10.01.2018, 13:44   #3
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

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

cmd
Код:

cd C:\MyFolder
mkdir SomeFolder
dir
cd SomeFolder
echo some data > input.txt
dir
type input.txt
.........
python my_script.py


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

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

Цитата:
Сообщение от 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, 14:04   #6
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

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

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

А как вы без cmd запустите скрипт?
Ну если в IDE типа PyCharm, то там в настройках запуска Working Directory.

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

то есть полный код
Код:

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, 14:15   #8
Alex11223
Модератор
Заслуженный модератор
 
Регистрация: 12.01.2011
Сообщений: 17,401
Репутация: 3353

icq: 512-765
skype: alexp.frl
По умолчанию

Создайте C:\MyFolder и выполните в cmd команды выше по одной для просветления.
Alex11223 вне форума   Ответить с цитированием
Старый 10.01.2018, 14:27   #9
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,615
Репутация: 5352
По умолчанию

Это
Цитата:
Сообщение от Ципихович Эндрю Посмотреть сообщение
Код:

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, 15:17   #10
Aleksandr H.
2 the Nation Glory
Профессионал
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Адрес: Wild West Ukraine
Сообщений: 2,485
Репутация: 885
По умолчанию

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

ATT.jpg

Если код не сохранен в .ру то после нажатия Ф5 захочет сохранится, от тот каталог и дефолтный. имхо
__________________
Mailto: media.project@ukr.net
Aleksandr H. вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


08:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru