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

کمک و پشتیبانی => برنامه‌سازی => نویسنده: thmkhtry در 03 تیر 1402، 05:36 ب‌ظ

عنوان: اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: thmkhtry در 03 تیر 1402، 05:36 ب‌ظ
سلام،
1. من میخواهم وقتی به صورت:
...
i=input("enter:)
..
مینویسم خروجی به صورت:
enter:print("hi")
'hi'
بگیرم یعنی میخواهم وقتی متغیر ورودی ورودی ای دریافت کرد که دستورات پایتون بود آن را اجرا کند.
همچنین نمیخواهم از حالت زیر استفاده کنم چون شلوغ میشود:
if i=="exit()":
exit()
چیکار کنم؟
-----------------------------------------------------------------------
2. میخواهم کاری کنم که وقتی مثلا کاربر داخل متغیر ورودی
( برای مثال i=input("enter:"))
 مثلا نوشت ./example.py فایل example.py اجرا شود.
چه کار کنم؟
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: ɴɪᴍᴀ در 03 تیر 1402، 07:22 ب‌ظ
خب الان شما دوتا چیز میخواین. اگر میخواین دستورات پایتون اجرا بشن، از exec میتونید استفاده کنید. مثل:

i = input("Enter:")
exec(i)

اگر هم میخواین دستورات command line اجرا بشن، از os.system میتونید استفاده کنید.

ادیت: میشه لطفا این محدودیت اکانتمو بردارید؟ مرسی (:
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: thmkhtry در 04 تیر 1402، 04:13 ب‌ظ
با تشکر از شما اولین سوالم حل شد ولی سوال دوم: میخوام کلا بشه باهاش پایتون فایل ها را اجرا کرد
ادیت: منم محدودیتی دارم.
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: Qozhy در 25 تیر 1402، 01:02 ق‌ظ
برای اجرای یک فایل پایتون دیگر:
with open("example.py") as f:
    exec(f.read())
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: Dragon- در 25 تیر 1402، 02:57 ق‌ظ
فکر کنم کار اول که می‌خواهید انجام بدید، اسمش توی برنامه‌نویسی reflection باشه.
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: learner:~$ در 25 تیر 1402، 07:56 ب‌ظ
من گیج شدم :( :( میخوای از طریق  bash  وررودی بدی . از طریق پایتون خروجی بگیری ؟؟؟ یا فقط با پایتون میخوای ورودی و خروجی بگیری ؟؟؟


منظور بنده این هست که یک اسکریپت نهایتا ۵۰ خطی بنویسد با بش که اینکار رو انجام بده ( از کاربر ورودی بگیره و ورودی گرفته شده رو و دستورات مورد نظرو به زبان پایتون بده)
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: thmkhtry در 25 تیر 1402، 08:21 ب‌ظ
من گیج شدم :( :( میخوای از طریق  bash  وررودی بدی . از طریق پایتون خروجی بگیری ؟؟؟ یا فقط با پایتون میخوای ورودی و خروجی بگیری ؟؟؟
فقط با پایتون
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: جادی در 26 تیر 1402، 08:38 ق‌ظ
به نظرم دنبال eval هستی.
a = input()
eval(a)
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: thmkhtry در 26 تیر 1402، 11:58 ق‌ظ
به نظرم دنبال eval هستی.
a = input()
eval(a)
این بهتر کار میکنه یا exec؟
عنوان: پاسخ : اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input
ارسال شده توسط: جادی در 26 تیر 1402، 02:08 ب‌ظ
فکر می کنی اگر یکی از اون یکی بهتر کار می کرد ، هر دو رو نگه می داشتن؟ یا اونی که بدتر کار می کنه رو می ذاشتن کنار و از بهتره استفاده می ‌کردن؟ (:

خلاصه‌اش کنیم، eval روی یک خط کار می کنه (چیزی که تو پرسیدی) و exec روی کدهای چند خطی هم کار می کنه.