|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||||||
Добавление нескольких файлов для последующего редактирования03.09.2019, 12:20. Показов 17414. Ответов 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 БД в браузер для последующего её редактирования? Добавление картинки через диалоговое окно по кнопке, для последующего сохранения в таблицу |
|
5189 / 1079 / 151
Регистрация: 29.01.2013
Сообщений: 6,269
|
|
| 04.09.2019, 15:58 | |
|
Welemir1, он хочет переиспользовать переменную за пределами локальной области видимости)
1
|
|
|
Автоматизируй это!
|
||||||||
| 04.09.2019, 16:00 | ||||||||
Добавлено через 42 секунды
1
|
||||||||
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||
| 04.09.2019, 16:01 [ТС] | ||
|
0
|
||
|
5189 / 1079 / 151
Регистрация: 29.01.2013
Сообщений: 6,269
|
|
| 04.09.2019, 16:01 | |
|
1
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||
| 04.09.2019, 16:03 [ТС] | ||
|
Добавлено через 1 минуту Неужели я настолько туп, что не понимаю. Может я плохо показал, что на деле нужно.
0
|
||
|
5189 / 1079 / 151
Регистрация: 29.01.2013
Сообщений: 6,269
|
|
| 04.09.2019, 16:05 | |
|
Damenikx, вы немного зациклились на своих способах решения проблемы. Вам бы отвлечься чем, потом перечитать всё то, что вам умные ребята, не чета мне, посоветовали.
1
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||||||
| 04.09.2019, 16:07 [ТС] | ||||||
|
Вот:
Добавлено через 1 минуту Alli_Lupin, да, я вчера так делал, отвлёкся, перечитал. Всё равно не понимаю
0
|
||||||
|
Автоматизируй это!
|
|||||||
| 04.09.2019, 16:10 | |||||||
0
|
|||||||
|
|
|||||||||||
| 04.09.2019, 16:17 | |||||||||||
Сообщение было отмечено Damenikx как решение
Решение
Damenikx, уже даже жалко становится, вы так стараетесь.
Окей, тут 2 варианта. В первом в функцию change_file надо передать takeFile как параметр. 1 вариант - всё делаем по одному нажанию, в одной функции. Внутри её получам файл и меняем:
(Назовём его Storage)
0
|
|||||||||||
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 04.09.2019, 16:19 [ТС] | |
|
dondublon, Welemir1. Спасибо за помощь, сейчас буду разбираться.
0
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||
| 04.09.2019, 16:25 [ТС] | ||
|
Welemir1, если использовать данный метод то есть проблема, при запуске программы мы сначала должны выбрать файлы для обработки. А если понадобиться ещё? Значит перезагружать программу? Добавлено через 1 минуту Скорее всего, мне надо будет переделывать всё. За основу возьму Ваши советы. Проблема в том, что главный то вопрос не решён видимо это действительно не правильно делать на 2 кнопки.
0
|
||
|
|
|
| 04.09.2019, 16:28 | |
|
Damenikx, вот поэтому в Qt, к примеру, принято в делать наследника от графического компонента (виджета). В наследнике делается логика, в т. ч. нужные переменные. Они не глобальные, они внутри класса.
1
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 04.09.2019, 16:31 [ТС] | |
|
dondublon, возможно надо использовать классы тогда, а не отдельные функции вне класса?
0
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
|
| 04.09.2019, 17:01 [ТС] | |
|
dondublon, это просто мысли в слух. Сижу, разбираюсь. Спасибо Вам.
0
|
|
| 05.09.2019, 02:23 | |||||||||
![]() Добавлено через 20 минут В общем еще раз внимательно продумайте алгоритм и для начала четко опишите свою задачу в теме на этом форуме. Добавлено через 1 час 5 минут Damenikx, Начал помаленьку разбираться с Вашей задачей. Буду давать свои замечания по ходу. Взял за основу Ваш код с глобальной переменной. Для начала, название кнопки "Открыть файл" не соответствует тому, что она делает. У Вас происходит не открытие файла, а открытие окна проводника и выбор в нем файла. Поэтому правильнее было бы назвать кнопку "Выбрать файл". Добавлено через 39 минут Обработка файлов идет нормально. У Вас проблема с записью внизу сообщений, какие файлы выбраны и какие обработаны. По этой же причине кнопка "Обновить список" не работает. Добавлено через 20 минут Существуют способы изменять метки в уже выведенной форме, Вы просто этого не знаете. И еще, по моему для того, что бы правильно работала форма, нужно структуру ее создания помещать в функцию. По крайней мере Лутц так делает, и я используя его примеры, тоже так делаю. Кликните здесь для просмотра всего текста
Я по аналогии с Лутцом называю функцию, в которой конструируется форма, именем makeWidgets() Поэтому первое, что я Вам рекомендую сделать, это разместить код создания формы в функцию. Что касается изменение меток Label в уже открытой форме, то я завтра найду , где описаны приемы, как это делается, и дам Вам ссылку.
1
|
|||||||||
| 05.09.2019, 03:43 | ||||||
|
Damenikx, Вот еще один проект (точнее одна его часть, так как он из двух модулей), где кстати я при работе с выведенной формой меняю текст метки lab1 с помощью метода config(), следующим образом lab1.config(text=activCh)
Кликните здесь для просмотра всего текста
Добавлено через 3 минуты Если запустите этот код, то увидите как он работает. При выборе некоторой буквы, в левом верхнем углу меняется запись, показывающая какая буква сейчас выбрана. Аналогичный прием нужно использовать и Вам, что бы менять записи внизу формы. Но не забудте поместить описание формы в функцию. Добавлено через 44 минуты Damenikx, А вообще то, так как Вы говорите, что у Вас большое количество файлов, то выводить информацию внизу формы бессмысленно. Нужно менять алгоритм решения задачи. Например помещать информацию, какие файлы обработаны, в базу данных. И при выборе файла проверять , сличая с БД, что файл не обрабатывался. Так как при повторной обработке в нем будет нарушена его структура. Или еще лучше, после обработки файла менять его название, добавляя в конец названия специальную метку, что файл обработан. В общем еще раз как следует продумайте алгоритм вашей работы с файлами, на всех этапах этой работы. Добавлено через 15 минут Хотя, если Вы просматриваете файлы последовательно, и просто отвлеклись и забыли какой последний файл обработали, то Ваш алгоритм вполне подойдет. Но если повреждение файла это серьезная проблема, то я бы еще добавил сохранение информации об обработанных файлах в базе данных или изменение имени, как я говорил выше. Но это уже смотрите сами, на сколько это необходимо.
1
|
||||||
| 05.09.2019, 03:43 | |
|
Поиск и перемещение файлов в папку для их последующего удаления Добавление нескольких файлов в БД Добавление нескольких файлов в бд
Добавление нескольких файлов в OpenFileDialog Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . .
Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
|
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг.
Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует.
В процессе разработки. . .
|
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
|
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации:
1. Вернуть возможность использования знаков | 1 l I;. . .
|
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|