|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||||||
Добавление нескольких файлов для последующего редактирования03.09.2019, 12:20. Показов 15961. Ответов 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 БД в браузер для последующего её редактирования? Добавление картинки через диалоговое окно по кнопке, для последующего сохранения в таблицу |
|
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,232
|
|
| 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
|
||
|
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,232
|
|
| 04.09.2019, 16:01 | |
|
1
|
|
|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||
| 04.09.2019, 16:03 [ТС] | ||
|
Добавлено через 1 минуту Неужели я настолько туп, что не понимаю. Может я плохо показал, что на деле нужно.
0
|
||
|
5037 / 1064 / 149
Регистрация: 29.01.2013
Сообщений: 6,232
|
|
| 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 | |
|
Помогаю со студенческими работами здесь
60
Поиск и перемещение файлов в папку для их последующего удаления Добавление нескольких файлов в БД Добавление нескольких файлов в бд
Добавление нескольких файлов в OpenFileDialog Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2).
Унарный минус обозначается как !
*/
#include <iostream>
#include <stack>
#include <cctype>. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|