|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||||||
Добавление нескольких файлов для последующего редактирования03.09.2019, 12:20. Показов 16370. Ответов 158
Метки python 3.x (Все метки)
Доброго времени суток форумчане! Не так давно, благодаря знатокам из данного форума была написана (спасибо за всё) программа. Суть её в следующем: На диске лежат файлики в которых 20 строк, каждую десятую строку программа вставляет пустую строку, затем копирует содержимое 10-й строки, добавляет перед пустой строкой (проще говоря дублирует 10-ю строку), затем дублирует 11-ю и добавляет перед 11-й строкой (капец туфтология), наглядно это вот так:
Было: 7 8 9 10 11 12 13 Стало: 7 8 9 10 10 11 11 12 13 И так программка делает каждую 10-ю строку! Строк может быть уйма. Всё работает всё делится, как надо, вопрос таков: Файлов которые нужно редактировать много, поэтому, я хотелось бы сделать, что-то типа добавления или запоминания нескольких файлов, а затем их сразу переделывать, что каждый раз не указывать файл заново. Файлы лежат в разных папках, поэтому забирать из корня не выйдет. Желательно сделать наглядно, чтобы я уже видел, какие файлики я добавил, а какие нет! Заранее спасибо за помощь! Собственно и сама программа:
0
|
||||||
| 03.09.2019, 12:20 | |
|
Ответы с готовыми решениями:
158
Сохранить данные из них для последующего просмотра и редактирования Как целиком загрузить таблицу из SQL БД в браузер для последующего её редактирования? Добавление картинки через диалоговое окно по кнопке, для последующего сохранения в таблицу |
|
|
||
| 05.09.2019, 09:24 | ||
|
Глобалки - прямой путь в говнокод, поэтому из многих языков их убрали. Так что Питон тут не показатель.
1
|
||
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 05.09.2019, 10:28 [ТС] | |
|
Viktorrus Кхм, я сейчас немного офигел из-за количества написанного Вами. Я всё ещё раз прочитаю и расскажу Вам (и всем, кто "в теме") о задаче. Так же расскажу, почему там лейбл не обновляется и т.д. Раз уж я не могу правильно её сформулировать значит и написать правильно не смогу, значит надо, как следует со всем разобраться. Чуть попозже отвечу полностью.
0
|
|
| 05.09.2019, 12:31 | |
|
Damenikx, Вот ссылка, которую я обещал.
https://metanit.com/python/tutorial/9.3.php Здесь расказывается, как менять тексты в виджетах, когда форма уже открыта. Я в своем коде использовал метод config(), очень удобный. Позволяет в уже открытой форме менять любые параметры виджета. Добавлено через 5 минут С помощью этого метода, я не только меняю текст в метке, но и открываю и закрываю для записи служебные виджеты Entry, которые предназначены для записи в них служебной информации, показываемой пользователю, но не доступные ему для редактирования.
0
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 05.09.2019, 14:13 [ТС] | |
|
Viktorrus, хорошая статья, добавлю в закладки.
0
|
|
| 05.09.2019, 20:37 | |||||||
Сообщение было отмечено Damenikx как решение
Решение Бедные разработчики питона, которые ввели глобальные переменные, которые использовать нельзя, и бедный Лутц, который пишет "говнокоды". Они не могут осознать Ваших гениальных идей, потому, что с Вами не знакомы. А может дадите ссылку на Ваши изданные труды, в которых излагаются Ваши "гениальные" идеи? У заклейменного Вами Лутца, который считает использование глобальных переменных нормой, уже 5 раз переиздаются его книги, являющиеся объемными трудами и признанными классикой.Опять я с Вами схлестнулся. Но в длительную полемику вступать не намерен. Стараюсь не обращать на Ваши комментарии внимания, но бывает на некоторые дикости срываюсь. На этом все, разрешите откланяться. ![]() Добавлено через 1 час 0 минут Damenikx, Вот я переписал Ваш код, с функцией создания формы, и запуском из блока if __name__ == '__main__': Кликните здесь для просмотра всего текста
Работает так же, как Ваш код. Теперь его можно дорабатывать, размещая внизу формы нужные Вам сообщения. Только четко определите алгоритм, что должно писаться внизу формы. Добавлено через 3 минуты На самом деле внизу формы , после размещения кода создания формы в функции, выводит не совсем так как у Вас. Но теперь без проблем можно выводить внизу сообщения по любому, как только Вы захотите. Только скажите, как Вы хотите.
1
|
|||||||
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 06.09.2019, 08:01 [ТС] | |
|
Viktorrus, спасибо Вам огромное, сейчас всё переделаю!
Добавлено через 54 секунды У меня теперь каша в голове, получается использовать глобальные переменные всё-таки можно)))
0
|
|
|
Автоматизируй это!
|
||
| 06.09.2019, 09:28 | ||
|
Глобал в пайтон и статик в джаве (мой второй язык) это очевидные и простые для новичка вещи, поэтому все новички и всегда за него хватаются и порой проблем то и не видят. Пока программа простая и короткая все может прекрасно работать, но когда она начнет расти да еще и многопоточность добавится, тут то и начинаешь понимать почему в обоих языках учат обходиться без них. Но это только если ты планируешь расти в программировании. Если нет, то конечно используй глобал, пиши клоуз после менеджера контекста (как в коде выше), бабахай методы по 100 строк - все равно никто кроме тебя не пострадает.
1
|
||
|
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
|
||||||
| 06.09.2019, 09:51 | ||||||
|
Viktorrus, а почему не засунуть все в класс? => избавиться от global.
Кликните здесь для просмотра всего текста
1
|
||||||
|
|
|||||
| 06.09.2019, 10:47 | |||||
|
Разработчики Питона, если что, не "ввели" глобальные переменные, точнее, ввели не их. Сама структура языка такова, что выпилить их невозможно. Будьте любезны, приведите пример, где у Лутца описывается, что использования глобалок - это норма. Вот правда, мне интересно. Иначе всё, что вы написали - это просто дурь. Примеры элементарного кода на 10 строк - не в счёт. Добавлено через 2 минуты Кстати, если интересно - в нашей компании я сейчас сам провожу собеседования по Питону, и один из моих "общефилософских" вопросов - "что плохого в глобальных переменных". Если человек не ответит - большой минус, значит, у него вообще нет практики. Но почти всегда отвечают. Добавлено через 2 минуты Добавлено через 9 минут Viktorrus, раз уж вы такой умный, разбираетесь в глобалках, мне интересно, понимаете ли вы, (не гугля,) разницу между global variable и global value? А между глобальной переменной и синглтоном?
2
|
|||||
|
Автоматизируй это!
|
||
| 06.09.2019, 10:50 | ||
|
dondublon, проблема в его отношении к Лутцу, у него в руках букварь, а он думат, что Библия (если позволите такую метафору).
Лутц -мастер, он довольно хорошо рассказывает о всех средствах языка, чтобы дать о них представление и естественно он использует простейшие примеры, где глобал реально самый простой подход. Это нужно понимать. И читать что-то кроме Лутца. Или внимательно читать его: Viktorrus,
Не по теме: dondublon, чисто из интереса, на собесе просите какой-то код написать? Листкомпс например или по ООП?
2
|
||
|
|
||
| 06.09.2019, 10:57 | ||
|
Ну ясно дело, не может быть у Лутца оправдания использованию глобалок. По поводу кода. Именно кода прошу писать мало. Первым делом прошу написать рекурсивный факториал. (Признаюсь, это была не моя идея, но одобряю.) Казалось бы, простая задача, но на удивление много народа отсеивается сразу. Затем - найти ошибку в антипаттерне с итератором, когда iterable в качестве итератора возвращает self. (Это уже моя придумка.) Знаете, люди любят такое писать "на скорую руку". Вроде бы тоже несложно, но и тут часто у народа нет понимания итераторов и ответить они не могут. Могу и ещё накидать, у меня список есть но там больше просто вопросы. Про ООП я очень хотел бы спрашивать, но, каюсь, не знаю, как именно проверить эти знания. Человек может оттарабанить паттерны, прочитанные в книжке, и не видеть их в реальном коде. В итоге по мелочи спрашиваю, конечно, но меня самого не очень устраивает
1
|
||
|
Автоматизируй это!
|
|||
| 06.09.2019, 11:22 | |||
|
Не по теме:
Добавлено через 2 минуты с факториалом норм написал сходу в виде лямбды, а наверное функцией надо было)
1
|
|||
|
|
|
| 06.09.2019, 11:49 | |
|
Welemir1, мне стыдно, я и не знал, что так можно.
Не, так прокатит, конечно, но вообще всегда пишут функцию. Добавлено через 32 секунды Welemir1, не, погоди, щас я разберусь. Как-то странно выглядит, тут должна быть проблема. Добавлено через 1 минуту Не, работает. Но выглядит всё равно необычно.
1
|
|
|
Автоматизируй это!
|
||
| 06.09.2019, 11:49 | ||
|
dondublon, ну проблема есть, кеширование к функции можно прикрутить например,а тут память будет кушать, но зато писать быстро
Добавлено через 19 секунд
1
|
||
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 06.09.2019, 14:26 [ТС] | |
|
Вай Вай Вай, друзья. Монстры питона(без сарказма), вы чего устроили?)) я же теперь помру, лямбды, рекурсии, факториалы обратные, вы чего)) я тут простейшую функцию написать не могу, а тут такое)) вы главное не ссоритесь, ведь приятнее общаться, всегда, когда царит доброта и шипит пиво!)
За вас и за спецназ (питоновский)
1
|
|
| 06.09.2019, 14:37 | |
|
0
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 06.09.2019, 14:43 [ТС] | |
|
Welemir1,
Не по теме: я же вроде и со сложного не начинал, это простейшая програмка, совсем. Захотел подключить гуй, дабы упростить себе задачу, а вышло наоборот))
0
|
|
| 06.09.2019, 14:43 | |
|
Помогаю со студенческими работами здесь
80
Поиск и перемещение файлов в папку для их последующего удаления Добавление нескольких файлов в БД Добавление нескольких файлов в бд
Добавление нескольких файлов в OpenFileDialog Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|