Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7
интерактивный скрипт
интерактивный скрипт
Как сделать на питоне возможность ввести данные в input для инициализации скрипта?
Re: интерактивный скрипт
Можно сделать окошко с gui, в entry которого вводить данные, а можно подключить виндовскую консоль и перенастроить ввод из неё.
Re: интерактивный скрипт
а как окошко gui делается?nah nah wrote:Можно сделать окошко с gui, в entry которого вводить данные, а можно подключить виндовскую консоль и перенастроить ввод из неё.
Re: интерактивный скрипт
для винды это ткинтер.
В своём скрипте, когда нужно произвести ввод
Code: Select all
import tkinter as tk
import tkinter.ttk as ttk
class Application:
def __init__(self):
self.root = tk.Tk() # инициализируемся
self.root.title('my gui')
entry = ttk.Entry(self.root) # создаём виджет
entry.pack() # пакуем его
entry.bind('<Return>', self.get_entry) # биндим функцию на enter
def get_entry(self, event):
self.input = event.widget.get() # вытащим то, что было введено в энтри и запишем в своё поле input
self.root.destroy() # убиваем гуи
Code: Select all
def get_gui_input():
app = Application()
app.root.mainloop()
return app.input
Re: интерактивный скрипт
оо спасибо! ща поколдую...
Re: интерактивный скрипт
а класс Application с его импортом, можно в папку include вписать?nah nah wrote:для винды это ткинтер.В своём скрипте, когда нужно произвести вводCode: Select all
import tkinter as tk import tkinter.ttk as ttk class Application: def __init__(self): self.root = tk.Tk() # инициализируемся self.root.title('my gui') entry = ttk.Entry(self.root) # создаём виджет entry.pack() # пакуем его entry.bind('<Return>', self.get_entry) # биндим функцию на enter def get_entry(self, event): self.input = event.widget.get() # вытащим то, что было введено в энтри и запишем в своё поле input self.root.destroy() # убиваем гуи
Code: Select all
def get_gui_input(): app = Application() app.root.mainloop() return app.input
Re: интерактивный скрипт
А как работать с файлами в папке include? Как их подключать в скрипт? Их где-то прописать нужно для автозагрузки или вручную подключать?nah nah wrote:Да
Re: интерактивный скрипт
Я вынес их в один файл, подключаю в начале скрипта.globaluo wrote:А как работать с файлами в папке include? Как их подключать в скрипт? Их где-то прописать нужно для автозагрузки или вручную подключать?nah nah wrote:Да
https://github.com/80aX/python_scripts/ ... ter/all.py
Re: интерактивный скрипт
про механизм импорта в питоне рассказывать долго) В интернете полно русскоязычной документации. Самое простое это:
в папке include создать файл __init__.py. Такой файл сделает папку пакетом. Допустим в папке лежит файл gui.py с классом Application
В скрипте:
или
Можно в __init__.py вписать такое
тогда в скрипте будет так
PS: Вы пытаетесь выстрелить себе в ногу, но то и дело попадаете промеж пальцев. А всё потому, что Питон настолько гибкий — что из рук выскальзывает. (Как прострелить себе ногу на разных языках)
в папке include создать файл __init__.py. Такой файл сделает папку пакетом. Допустим в папке лежит файл gui.py с классом Application
В скрипте:
Code: Select all
from include import gui
app = gui.Application()
Code: Select all
from include.gui import Application
app = Application()
Code: Select all
from .gui import Application
__all__ = [Application]
Code: Select all
from include import *
app = Application()
Но так и правда удобнее80aX wrote:Я вынес их в один файл, подключаю в начале скрипта.
Re: интерактивный скрипт
у меня почему-то не находит файл
Code: Select all
from stealthall import *
Code: Select all
ImportError: No module named 'stealthall'
Re: интерактивный скрипт
а где лежит stealthall.py ? Должен в той же папке где и скрипт.globaluo wrote:у меня почему-то не находит файлCode: Select all
from stealthall import *
Code: Select all
ImportError: No module named 'stealthall'
Re: интерактивный скрипт
Переложил, заработало! Спасибо! Но просто любопытно, в папке includes есть несколько файлов .inc и .py они там для чего-то нужны?80aX wrote:а где лежит stealthall.py ? Должен в той же папке где и скрипт.globaluo wrote:у меня почему-то не находит файлCode: Select all
from stealthall import *
Code: Select all
ImportError: No module named 'stealthall'
Re: интерактивный скрипт
Ага, для чего то нужны
это такие же скрипты, прост часто используемые, вот их и выносят в отдельные модули. Там косяк есть один , когда качал новый стелс заметил, в файле hungry.py записан скрипт для паскаля)
![Smile :)](./images/smilies/icon_smile.gif)
Re: интерактивный скрипт
непонятное дело - брал все с одного каталога, но у меня питоновский скрипт, а там в самом деле паскалевский.80aX wrote: когда качал новый стелс заметил, в файле hungry.py записан скрипт для паскаля)
Пересмотрю все инклюды.
"Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете". (с) Макконнелл, "Совершенный код".