Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
3 / 3 / 1
Регистрация: 18.10.2013
Сообщений: 90

Как переделать консольную программу в оконную?

17.09.2014, 18:38. Показов 2418. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток! Ни как не получается сделать этот скрипт оконным, чтоб при нажатии кнопки открывалось диалоговое окно для открытия файла и текст бы открывался в текстовом блоке на подобие richtextbox в C#, вторая кнопка обрабатывала бы текст скриптом как в коде ниже и вывела бы результат в текстовый блок по новой, а третья кнопка сохраняла, так же диалоговым окном. Если не трудно помогите пожалуйста!

Использую Python 3.4

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# -*- coding: utf-8 -*-
 
import collections
 
inp = open(r'C:\Users\Admin\Desktop\open-accounts.txt').readlines()
out = open(r'C:\Users\Admin\Desktop\id-accounts.txt', 'w')
 
counter = collections.Counter()
 
for i in iter(inp): # Этот код обрезает строки и удаляет повторяющие
    data = i.split(']')[1].strip()
    counter[data] += 1
    if counter[data] == 1:
        out.write(i.split('[')[-1].split(']')[0].strip() + '\n')
 
print("Обработка завершена!")
input("Нажмите любую клавишу для выхода...")
Пример что программа обрабатывает:

Открытие файла с строками их n-ное кол-во

[05:48] Object: deviholy Resident [ 490d9bfe-f8d0-44fe-a0a7-f3390b619ae8 ]
[05:48] Object: Hagit42 Resident [ 3fdb00d6-1579-4c1c-be2f-6149cd6d8c5c ]
[05:48] Object: Bridgette37 Resident [ 02f8e53e-7b99-46dc-802e-bc90b1c67b34 ]
[05:48] Object: EverIynn Resident [ 2c414c36-1ad4-411c-a58c-04d6ee8b5629 ]
[05:48] Object: Monika1982 Resident [ ad3fc92a-75c7-48ab-98df-9bc5ff55ff92 ]

После обработки это:

490d9bfe-f8d0-44fe-a0a7-f3390b619ae8
3fdb00d6-1579-4c1c-be2f-6149cd6d8c5c
02f8e53e-7b99-46dc-802e-bc90b1c67b34
2c414c36-1ad4-411c-a58c-04d6ee8b5629
ad3fc92a-75c7-48ab-98df-9bc5ff55ff92
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2014, 18:38
Ответы с готовыми решениями:

Как переделать консольную программу в оконную программу?
Я написал генератор паролей в виде консольной программы, а теперь мне нужно его переделать в оконное приложение, но я не знаю как это...

Переделать консольную программу в оконную
Помогите переделать программу под windows forms c# , чтобы в окошке всё считалось.

Нужно переписать консольную программу в оконную
Здравствуйте, мне 16 лет в С++ новичёк, в билдере программировать не умею! Написал программу (скачать)Мне нужно чтобы она была в окне с...

6
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
18.09.2014, 12:07
gui включать не пробовали?
0
3 / 3 / 1
Регистрация: 18.10.2013
Сообщений: 90
18.09.2014, 13:11  [ТС]
Пробовал, но т.к пока учу питон, до функций дошел, разобраться не могу что к чему, запутался. Делал про примерам с выпадающем меню открытие и сохранение файлов, а вот обработку саму настроить не могу... и хотелось бы конечно с кнопками
0
 Аватар для pashtet-kun
135 / 120 / 37
Регистрация: 30.09.2012
Сообщений: 400
18.09.2014, 15:33
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#! /usr/bin/env python
# -*- coding: utf-8 -*-
 
from tkinter import *
from tkinter.filedialog import askopenfilename
from tkinter.filedialog import asksaveasfilename
 
def loadFile():
    fileName = askopenfilename()
    if not fileName:
        return
    file = open(fileName, 'r')
    inp = file.read()
    file.close()
 
    textBox.insert('0.0', inp)
 
def process():
    inp = textBox.get('0.0', END+'-1c').split('\n')
    out = ''
 
    for i in iter(inp):
        data = i.split(']')[0].strip()
        if data:
            out+= i.split('[')[-1].split(']')[0].strip() + '\n'
 
    textBox.delete('0.0', END)
    textBox.insert('0.0', out)
 
def save():
    fileName = asksaveasfilename()
    if not fileName:
        return
    inp = textBox.get('0.0', END+'-1c')
    file = open(fileName, 'w')
    file.write(inp)
    file.close()
         
if __name__ == "__main__":
    root = Tk()
    root.geometry("750x400+10+10")
    root.title("Самая лучшая программа на свете")
    root.resizable(False, False)
 
    panelButtons = Frame(root)
    panelButtons.pack()
    btnLoad = Button(panelButtons, text="Загрузить файл", command=loadFile)
    btnLoad.pack(side='left', padx=5, pady=5)
    btnProcess = Button(panelButtons, text="Обработать", command=process)
    btnProcess.pack(side='left', padx=5, pady=5)
    btnSave = Button(panelButtons, text="Сохранить в файл", command=save)
    btnSave.pack(side='left', padx=5, pady=5)
 
    textBox = Text(root, height = 20)
    textBox.pack()
   
    root.mainloop()
0
3 / 3 / 1
Регистрация: 18.10.2013
Сообщений: 90
18.09.2014, 18:32  [ТС]
pashtet-kun спасибо огромное, выручил, а не мог бы ещё сделать чтоб повторяющиеся строки удалялись?
Она только обрезает, вот если бы ещё повторения удаляла, то вобще б шикарно было! С меня скромный + в карму
0
 Аватар для pashtet-kun
135 / 120 / 37
Регистрация: 30.09.2012
Сообщений: 400
18.09.2014, 18:49
Лучший ответ Сообщение было отмечено lehaab как решение

Решение

повторяющиеся строки во входном файле или в выходном?

Добавлено через 14 минут
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def process():
    inp = textBox.get('0.0', END+'-1c').split('\n')
    out = ''
    lines = set()
 
    for i in iter(inp):
        data = i.split(']')[0].strip()
        if data:
            line = i.split('[')[-1].split(']')[0].strip()
            lines.add(line)
 
    for line in lines:
        out += line + '\n'
 
    textBox.delete('0.0', END)
    textBox.insert('0.0', out)
1
3 / 3 / 1
Регистрация: 18.10.2013
Сообщений: 90
18.09.2014, 20:14  [ТС]
Да в выходной, самое то, ещё раз спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2014, 20:14
Помогаю со студенческими работами здесь

Подскажите пожалуйста как программу с формой переделать в консольную?
Здравствуйте! Столкнулся с такой проблемой, есть программа public partial class FormMy : Form { public static double a,...

Переделать консольную программу в визуальную
Есть полностью готовый код,но мне его нужно вставить в программу,помогите! #include <iostream> #include <cmath> ...

Переделать консольную программу в windows form
class Urav { static void Main(string args) { Urav u = new Urav(1, -2, -3); ...

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

Переделать консольную программу в приложение Windows Forms
Я написала программу на консоли, но требуется еще ее сделать в WF... Если Вы способны помочь мне с этим, пожалуйста - помогите :cry: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru