|
955 / 341 / 114
Регистрация: 04.08.2018
Сообщений: 2,533
|
||||||
Добавление нескольких файлов для последующего редактирования03.09.2019, 12:20. Показов 15739. Ответов 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|