Запуск по очереди скриптов python

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
IDLE (Python 3.10 64-bit
----------------------------
Как запускать по очереди скрипты Python ?
1 скрипт отработал - записал результат в текстовый файл. Время его окончания не известно.
2 скрипт должен дождаться окончание работы 1 скрипта.
2 скрипт должен открыть этот текстовый файл и начинать работу.
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
это файлы Py?
так без танцев разве нет так происходит?
 

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
Да конечно. Эти скрипты: .py
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
пусть есть скрипты script1.py и script2.py, пусть script1 запускает после завершения script2, например
os.system('start script2.py')
 

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
СпасибоVershitel_sudeb
. Сработало. Жду окончания.
Ещё один вопрос: Как из файла - result.txt удалить дубликаты строк ?
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
не понял, что сработало? то есть никаких import не надо, например:
Код:
import script1
script1.scr
 import script2
script2.scr
или это само собой разумеется?
 

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
Спасибо.
Сработал скрипт.
Я просто в первый скрипт добавил строку: os.system('start 2_scan_udp.py')
И более ничего не делал. Всё Ок.
---------------------------------------
А это другой вопрос: Как из файла - result.txt удалить дубликаты строк ?
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Я просто в первый скрипт добавил строку: os.system('start 2_scan_udp.py')
понял, а почему не с места где первый скрипт запускался? палка о двух конца и удобно и неудобно......
 

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
Главное всё сработало. Спасибо.
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
решил опробовать, добавил внизу файла
Код:
import os
os.system('form.py.py')
получил ошибку:
"form.py.py" �� ���� ����७��� ��� ���譥�
��������, �ᯮ��塞�� �ணࠬ��� ��� ������ 䠩���.
в чём ошибка? спасибо
 

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
Ошибка в строке; os.system('form.py.py') --- два раза .py.py' - не надо.
Надо так: os.system('form.py')
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Надо так: os.system('form.py')
ну да ошибся -исправил, ошибки нет и работы файла нет, или зависит что в нём?
начинается:
Код:
import tkinter as tk
class Main():
    def __init__(self):
    ..................
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
СпасибоVershitel_sudeb
. Сработало. Жду окончания.
Ещё один вопрос: Как из файла - result.txt удалить дубликаты строк ?
Python:
with open("file.txt") as f:
    text = '\n'.join(set(f.readlines()))
with open("file.txt", 'w') as f:
    f.write(text)
 

satfan

Пользователь
Пользователь
Апр 21, 2020
98
6
8
Спасибо Vershitel_sudeb
Такой короткий и красивый код!
Ваш форум лучший.
Удачи.
 
  • Мне нравится
Реакции: Vershitel_sudeb

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
актуально
в файле внизу: os.system('form.py')
ошибки нет и работы файла нет, или зависит что в нём?
начинается:
Код:
import tkinter as tk
class Main():
def __init__(self):
..................
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва

актуально
в файле внизу: os.system('form.py')
ошибки нет и работы файла нет, или зависит что в нём?
начинается:
Код:
import tkinter as tk
class Main():
def __init__(self):
..................
А при запуске его вручную, он нормально работает? (form.py)
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
Код:
from form import Main
m = Main()
print('Число из формы:', m.result)
да запускаю-она работает, шлёт верный ответ
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
Код:
from form import Main
m = Main()
print('Число из формы:', m.result)
да запускаю-она работает, шлёт верный ответ
Тогда скинь код обоих файлов, скорее всего там что-то не так
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
прилагаю https://cloud.mail.ru/public/QwtW/LwyNDr4Qq
спасибо
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
932
208
43
20
Москва
У тебя получилось два файла с функциями и классами, но ни одна из функций не вызывается и объектов классов не создается, нет смысла запускать файл form, он просто определяет класс.

Надо создать главный файл, и в него импортировать все остальное

P.S. в принципе нет смысла создавать функции
MsgBoxOk
MsgBoxYesNo
В tkinter есть такие методы по умолчанию: https://younglinux.info/tkinter/dialogbox
 

Ципихович Эндрю

Активный пользователь
Пользователь
Мар 27, 2021
490
25
28
ясно, понял, спасибо
 

Форум IT Специалистов