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

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید


ارائه ۲۴٫۱۰ اوبونتو منتشر شد 🎉

نویسنده موضوع: اجرای دستورات پایتون در دستور input و اجرای فایل های پایتون با input  (دفعات بازدید: 967 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین thmkhtry

  • Hero Member
  • *
  • ارسال: 975
  • جنسیت : پسر
  • Fedora Linux
سلام،
1. من میخواهم وقتی به صورت:
...
i=input("enter:)
..
مینویسم خروجی به صورت:
enter:print("hi")
'hi'
بگیرم یعنی میخواهم وقتی متغیر ورودی ورودی ای دریافت کرد که دستورات پایتون بود آن را اجرا کند.
همچنین نمیخواهم از حالت زیر استفاده کنم چون شلوغ میشود:
if i=="exit()":
exit()
چیکار کنم؟
-----------------------------------------------------------------------
2. میخواهم کاری کنم که وقتی مثلا کاربر داخل متغیر ورودی
( برای مثال i=input("enter:"))
 مثلا نوشت ./example.py فایل example.py اجرا شود.
چه کار کنم؟

آفلاین ɴɪᴍᴀ

  • High Hero Member
  • *
  • ارسال: 1275
  • جنسیت : پسر
  • یه برنامه نویس 13 ساله :)
    • smartnima Website
خب الان شما دوتا چیز میخواین. اگر میخواین دستورات پایتون اجرا بشن، از exec میتونید استفاده کنید. مثل:

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

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

ادیت: میشه لطفا این محدودیت اکانتمو بردارید؟ مرسی (:

آفلاین thmkhtry

  • Hero Member
  • *
  • ارسال: 975
  • جنسیت : پسر
  • Fedora Linux
با تشکر از شما اولین سوالم حل شد ولی سوال دوم: میخوام کلا بشه باهاش پایتون فایل ها را اجرا کرد
ادیت: منم محدودیتی دارم.
« آخرین ویرایش: 04 تیر 1402، 09:57 ب‌ظ توسط taha490mokh »

آفلاین Qozhy

  • Jr. Member
  • *
  • ارسال: 36
  • جنسیت : پسر
برای اجرای یک فایل پایتون دیگر:
with open("example.py") as f:
    exec(f.read())

آفلاین Dragon-

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 5125
  • جنسیت : پسر
فکر کنم کار اول که می‌خواهید انجام بدید، اسمش توی برنامه‌نویسی reflection باشه.
میدونید که زکات علم نشر آن است

آفلاین learner:~$

  • Hero Member
  • *
  • ارسال: 816
  • جنسیت : پسر
  • روزی روز گاری در گنو/لینوکس
من گیج شدم :( :( میخوای از طریق  bash  وررودی بدی . از طریق پایتون خروجی بگیری ؟؟؟ یا فقط با پایتون میخوای ورودی و خروجی بگیری ؟؟؟


منظور بنده این هست که یک اسکریپت نهایتا ۵۰ خطی بنویسد با بش که اینکار رو انجام بده ( از کاربر ورودی بگیره و ورودی گرفته شده رو و دستورات مورد نظرو به زبان پایتون بده)
« آخرین ویرایش: 25 تیر 1402، 08:27 ب‌ظ توسط learner:~$ »
مثل سمی کالونم( ; ).
خواستار پایان.
محکوم به کامپایل.

آفلاین thmkhtry

  • Hero Member
  • *
  • ارسال: 975
  • جنسیت : پسر
  • Fedora Linux
من گیج شدم :( :( میخوای از طریق  bash  وررودی بدی . از طریق پایتون خروجی بگیری ؟؟؟ یا فقط با پایتون میخوای ورودی و خروجی بگیری ؟؟؟
فقط با پایتون

آفلاین جادی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1602
    • در دفاع از آزادی بیان
به نظرم دنبال eval هستی.
a = input()
eval(a)
آزادی کیبورد حق هر انسان است - جادی

آفلاین thmkhtry

  • Hero Member
  • *
  • ارسال: 975
  • جنسیت : پسر
  • Fedora Linux
به نظرم دنبال eval هستی.
a = input()
eval(a)
این بهتر کار میکنه یا exec؟

آفلاین جادی

  • عضو کاربران ایرانی اوبونتو
  • *
  • ارسال: 1602
    • در دفاع از آزادی بیان
فکر می کنی اگر یکی از اون یکی بهتر کار می کرد ، هر دو رو نگه می داشتن؟ یا اونی که بدتر کار می کنه رو می ذاشتن کنار و از بهتره استفاده می ‌کردن؟ (:

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