|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||||||
Добавление нескольких файлов для последующего редактирования03.09.2019, 12:20. Показов 17249. Ответов 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 БД в браузер для последующего её редактирования? Добавление картинки через диалоговое окно по кнопке, для последующего сохранения в таблицу |
|
5186 / 1076 / 150
Регистрация: 29.01.2013
Сообщений: 6,266
|
|
| 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
|
||
|
5186 / 1076 / 150
Регистрация: 29.01.2013
Сообщений: 6,266
|
|
| 04.09.2019, 16:01 | |
|
1
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||
| 04.09.2019, 16:03 [ТС] | ||
|
Добавлено через 1 минуту Неужели я настолько туп, что не понимаю. Может я плохо показал, что на деле нужно.
0
|
||
|
5186 / 1076 / 150
Регистрация: 29.01.2013
Сообщений: 6,266
|
|
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|