انجمن‌های فارسی اوبونتو

کمک و پشتیبانی => برنامه‌سازی => نویسنده: سید وحید رضا برهانی در 21 شهریور 1396، 12:04 ب‌ظ

عنوان: تکست باکس ساده در خط فرمان به زبان پایتون(حل شد)
ارسال شده توسط: سید وحید رضا برهانی در 21 شهریور 1396، 12:04 ب‌ظ
سلام
من یک تکست باکس می خوام درست کنم مثلا شبیه به vim یا نانو که توش بشه بشه با کلیدهای جهت نما خرکت کرد و مثلا یک متن رو ویرایش کرد و بعد توی فایل ذخیره بشه.در واقع یک جور تکست ادیتور خیلی ابتدایی و ساده می خوام.

یکسری پروژه ها هست که با curses نوشته شده اند که خیلی پیچیده اند که استخراج چیزی که من می خوام کار من نیست :)


-----------
راه حل: استفاده از :
https://github.com/firecat53/py_curses_editor
یا لینکش در pypi :
https://pypi.python.org/pypi/py_curses_editor/1.2.1

و ساده ترین مثال برای استفاده:
import editor
text=editor.editor()
و پارامترهایی که می گیره:
stdscr:         the curses window object
        title:          title text
        inittext:       inital text content string
        win_location:   tuple (y,x) for location of upper left corner
        win_size:       tuple (rows,cols) size of the editor window
        box:            True/False whether to outline editor with a box
        max_paragraphs: maximum paragraphs (text separated by \n) allowed.
                            Default=0 (unlimited)
                            If initext is longer than max_paragraphs, extra
                            lines _will be truncated_!
        pw_mode:        True/False. Whether or not to show text entry
                            (e.g. for passwords)
        edit:           True/False. Default is True for editor. Use False
                            to have a scrollable popup window.
وبا کلید F2 یا کنترل+x ذخیره می کنه و با F3 یا ESC یا کنترل +c هم کنسل می کنه که اگر کنسل بشه inittext رو برمی گردونه
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: دانیال بهزادی در 21 شهریور 1396، 12:21 ب‌ظ
باید قبلش مشخّص کنی که می‌]وای از کدوم چارچوب گرافیکی استفاده کنی و بعد بری سراغ مستندات اون چارچوب.
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: سید وحید رضا برهانی در 21 شهریور 1396، 04:00 ب‌ظ
من محیط گرافیکی نمی خوام. می خوام توی خط فرمان داشته باشم. مثل نانو یا پیکو ولی خیلی ساده تر. دقیق ترش همون textbox هست که توی  kdialog یا xdialog یا دقیقترش مثل dialog و... وجود داره در همین حد می خوام.
هدفم اینکه که یک فایل متنی  با آدرس ثابتی رو به کاربر نشون بدم بعد کاربر اون رو ویرایش کنه و ذخیره بشه.
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: Ma$oud در 21 شهریور 1396، 06:37 ب‌ظ
من محیط گرافیکی نمی خوام. می خوام توی خط فرمان داشته باشم. مثل نانو یا پیکو ولی خیلی ساده تر. دقیق ترش همون textbox هست که توی  kdialog یا xdialog یا دقیقترش مثل dialog و... وجود داره در همین حد می خوام.
هدفم اینکه که یک فایل متنی  با آدرس ثابتی رو به کاربر نشون بدم بعد کاربر اون رو ویرایش کنه و ذخیره بشه.
این (https://stackoverflow.com/questions/33599407/save-file-content-from-editbox-in-bash) چطوره؟
dialog --editbox "INPUT FILE" 30 130 2> "OUTPUT FILE"; clear
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: سید وحید رضا برهانی در 21 شهریور 1396، 11:18 ب‌ظ
شل اسکریپت هم نمی خوام چون قراره روی محتویات هم قبل از نشون دادن و هم قبل از ذخیره کلی تغییر صورت بگیره که با پایتون بهتر از شل اسکریپت می شه انجامش داد.
من فقط پایتون (۲یا۳ فرقی نمی کنه) می خوام چون بقیه کدها آماده است و فقط همین تیکه وسطش مونده.
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: Ma$oud در 21 شهریور 1396، 11:31 ب‌ظ
شل اسکریپت هم نمی خوام چون قراره روی محتویات هم قبل از نشون دادن و هم قبل از ذخیره کلی تغییر صورت بگیره که با پایتون بهتر از شل اسکریپت می شه انجامش داد.
من فقط پایتون (۲یا۳ فرقی نمی کنه) می خوام چون بقیه کدها آماده است و فقط همین تیکه وسطش مونده.
os.system('dialog --editbox "%s" 30 130 2> "%s"; clear' % (INPUT, OUTPUT))  8) ;D
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: سید وحید رضا برهانی در 23 شهریور 1396، 06:27 ق‌ظ
:D
آره خب اینم یک راهیه . ولی ترجیج می دم که پایتون خالص باشه.
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: aet در 24 شهریور 1396، 01:23 ق‌ظ
:D
آره خب اینم یک راهیه . ولی ترجیج می دم که پایتون خالص باشه.
دوست عزیز این و خیلی از قابلیت های دیگه توی curses قابل مصرف هستند.
پایتون نمیفهمه که خط فرمان چیه و باید از curses استفاده بشه و با سیستم ارتباط داشته باشه پس پایتون خالص یکمی دور از دسترسه.

curses سخته ولی جواب شما همین هستش. خود vim از curses استفاده میکنه. شاید گزینه های دیگه ای مختص پایتون داشته باشند ولی من ازش اطلاعی ندارم.
عنوان: پاسخ : تکست باکس ساده در خط فرمان به زبان پایتون
ارسال شده توسط: سید وحید رضا برهانی در 26 شهریور 1396، 06:55 ق‌ظ
آره من هم گفته بودم که با curses می شه ولی پروژه هایی رو که دیدم رو نمی تونستم بفهمم :)

یکسری پروژه ها هست که با curses نوشته شده اند که خیلی پیچیده اند که استخراج چیزی که من می خوام کار من نیست :)

ولی در طی جست و جوهای بیشتر این رو پیدا کردم:
https://github.com/firecat53/py_curses_editor