পাইথন প্রোগ্রামটি বিরতি দেওয়ার সঠিক উপায়


161

আমি inputআমার স্ক্রিপ্টগুলি বিরতি দেওয়ার উপায় হিসাবে ফাংশনটি ব্যবহার করছি

print("something")
wait = input("PRESS ENTER TO CONTINUE.")
print("something")

এটি করার কোনও আনুষ্ঠানিক উপায় আছে?


2
একটি ডিবাগারে কাজ করুন এবং ব্রেকপয়েন্ট ব্যবহার করবেন?
gddc

উত্তর:


219

আমার কাছে সূক্ষ্ম বলে মনে হচ্ছে (বা raw_input()পাইথন ২.০ এ)। আপনি time.sleep()যদি সেকেন্ডের নির্দিষ্ট সংখ্যক বিরতি দিতে চান তবে বিকল্পভাবে আপনি ব্যবহার করতে পারেন।

import time
print("something")
time.sleep(5.5)    # pause 5.5 seconds
print("something")

1
আমি টাইম মডিউলে ঘুমের ফাংশন সম্পর্কে জানি কিন্তু আমার যদি পাঠ্যের দীর্ঘ ব্লক থাকে তবে আমি ব্যবহারকারীটি পড়তে চাই?
র্যান্ডমফোবিয়া

7
পাঠ্যটির printদীর্ঘ ব্লক প্রদর্শন করতে এবং তারপরে input()বা raw_input('Press <ENTER> to continue')পাইথনের সংস্করণে উপযুক্ত হিসাবে কেবল ব্যবহার করুন।
মাওহেকে

8
পাঠ্যের দীর্ঘ ব্লকের জন্য, একটি বিলম্বের পরিবর্তে ব্যবহারকারীকে প্রম্পট করার জন্য input()(বা raw_input()পাইথন ২.x এ) ব্যবহার করা ভাল । দ্রুত পাঠকরা বিলম্বের জন্য অপেক্ষা করতে চান না, ধীর পাঠকরা বিলম্বের জন্য আরও বেশি সময় চাইবে, কেউ পড়তে গিয়ে বাধা পেতে পারে এবং আরও অনেক সময় চাইবে ইত্যাদি Also এছাড়াও, যদি কেউ প্রোগ্রামটি প্রচুর পরিমাণে ব্যবহার করে তবে সে / তিনি কীভাবে এটি কাজ করে সে সম্পর্কে অভ্যস্ত হয়ে উঠতে পারে এবং এমনকি দীর্ঘ পাঠটি পড়ার প্রয়োজন নেই। পাঠকের ব্লকটি পড়ার জন্য কতক্ষণ প্রদর্শিত হয় তা নিয়ন্ত্রণ করতে ব্যবহারকারীকে কেবল বন্ধুবান্ধব করে তোলে।
স্টিভেহা

30

উইন্ডোজের জন্য কেবল ব্যবহার করুন:

import os
os.system("pause")

23
এটি উইন্ডোজ নির্দিষ্ট, যেখানে বিদ্যমান উত্তরগুলির সমস্ত প্ল্যাটফর্ম স্বাধীন।
lvc


17

সুতরাং, আমি আমার কোডিং প্রচেষ্টাগুলিতে এটি খুব ভালভাবে কাজ করতে পেলাম। আমি আমার প্রোগ্রামের একেবারে শুরুতে একটি ফাংশন তৈরি করেছি,

def pause():
    programPause = raw_input("Press the <ENTER> key to continue...")

এবং এখন pause()যখনই আমার প্রয়োজন হবে ঠিক তেমন কোনও ব্যাচ ফাইল লিখছি তখন আমি ফাংশনটি ব্যবহার করতে পারি। উদাহরণস্বরূপ , কোনও প্রোগ্রামে যেমন:

import os
import system

def pause():
    programPause = raw_input("Press the <ENTER> key to continue...")

print("Think about what you ate for dinner last night...")
pause()

এখন স্পষ্টতই এই প্রোগ্রামটির কোনও উদ্দেশ্য নেই এবং এটি কেবল উদাহরণস্বরূপ, তবে আপনি কী বলতে চাইছেন তা আপনি ঠিক বুঝতে পারবেন।

দ্রষ্টব্য: পাইথন 3 এর জন্য আপনাকে এর inputবিপরীতে ব্যবহার করতে হবেraw_input


7

আমারও অনুরূপ প্রশ্ন ছিল এবং আমি সিগন্যালটি ব্যবহার করছিলাম:

import signal

def signal_handler(signal_number, frame):
    print "Proceed ..."

signal.signal(signal.SIGINT, signal_handler)
signal.pause()

সুতরাং আপনি সিগন্যাল সিগিন্টের জন্য কোনও হ্যান্ডলার নিবন্ধন করুন এবং কোনও সংকেতের অপেক্ষায় বিরতি দিন। এখন আপনার প্রোগ্রামের বাইরের থেকে (উদাহরণস্বরূপ ব্যাশে), আপনি চালাতে পারেন kill -2 <python_pid>যা সিগন্যাল 2 (অর্থাত্ সাইন্ট) আপনার অজগর প্রোগ্রামে প্রেরণ করবে। আপনার প্রোগ্রামটি আপনার নিবন্ধিত হ্যান্ডলারকে কল করবে এবং চলমান এগিয়ে যাবে।


2
নোট করুন যে এটি প্ল্যাটফর্মগুলির মধ্যে বহনযোগ্য নয়, যেমন। উইন্ডোজ নেই signal.pause
কিরিল

7

pythonব্যবহারকারী চাপ না দেওয়া পর্যন্ত আমি কোডটি কার্যকর করতে বিরতি দিতে 2 এবং 3 এর জন্য নিম্নলিখিতটি ব্যবহার করিENTER

import six
if six.PY2:
    raw_input("Press the <ENTER> key to continue...")
else:
    input("Press the <ENTER> key to continue...")

5

মাওহেক এবং স্টিহহের মন্তব্য দ্বারা নির্দেশিত হিসাবে , এই সঠিক প্রশ্নের সর্বোত্তম উত্তর হবে:

পাঠ্যের দীর্ঘ ব্লকের জন্য, একটি বিলম্বের পরিবর্তে ব্যবহারকারীকে প্রম্পট করার জন্য input('Press <ENTER> to continue')(বা raw_input('Press <ENTER> to continue')পাইথন ২.x এ) ব্যবহার করা ভাল । দ্রুত পাঠকরা বিলম্বের জন্য অপেক্ষা করতে চান না, ধীর পাঠকরা বিলম্বের জন্য আরও বেশি সময় চাইবে, কেউ পড়তে গিয়ে বাধা পেতে পারে এবং আরও অনেক সময় চাইবে ইত্যাদি Also এছাড়াও, যদি কেউ প্রোগ্রামটি প্রচুর পরিমাণে ব্যবহার করে তবে সে / তিনি কীভাবে এটি কাজ করে সে সম্পর্কে অভ্যস্ত হয়ে উঠতে পারে এবং এমনকি দীর্ঘ পাঠটি পড়ার প্রয়োজন নেই। পাঠকের ব্লকটি পড়ার জন্য কতক্ষণ প্রদর্শিত হয় তা নিয়ন্ত্রণ করতে ব্যবহারকারীকে কেবল বন্ধুবান্ধব করে তোলে।


5

খুব সহজ:

raw_input("Press Enter to continue ...")
exit()

আমি এই পদ্ধতিটি কিছুটা ব্যবহার করেছি, তবে আমি এটি একটি বিরতি () ফাংশন হিসাবে ব্যবহার করতে চাই এবং আমার মনে হয় না প্রস্থান করার দরকার আছে ()। ডিফ বিরতি (): কাঁচা_পিন্ড ফিরে ("চালিয়ে যাও এন্টার টিপুন ...")
জ্যাকট্রেডার

NameError: name 'raw_input' is not defined
বর্ধিত


0

আমি মনে করি কার্যকর করা বন্ধ করার সর্বোত্তম উপায় হ'ল টাইম.স্লিপ () ফাংশন। আপনার যদি কেবলমাত্র কয়েকটি ক্ষেত্রে মৃত্যুদণ্ড স্থগিত করতে হয় তবে আপনি কেবলমাত্র এই জাতীয় বিবৃতি বাস্তবায়ন করতে পারেন:

if somethinghappen:
    time.sleep(seconds)

আপনি অন্য শাখাটি খালি রাখতে পারেন।


0

আমার মনে হয় আমি এই দ্রাবকটি পছন্দ করি।

import getpass
getpass.getpass("Press Enter to Continue")

এটি ব্যবহারকারী যেভাবে টাইপ করে তা লুকিয়ে রাখে, যা ইনপুট এখানে ব্যবহৃত হয়নি তা পরিষ্কার করতে সহায়তা করে।

তবে ওএসএক্স প্ল্যাটফর্মে সচেতন হোন এটি একটি কী প্রদর্শন করে যা বিভ্রান্তিকর হতে পারে।

এটি একটি কী দেখায়, যেমনটি আমি বলেছিলাম


সম্ভবত সেরা সমাধানটি হ'ল read -sকল না করে নিজেই গেটপাস মডিউলের অনুরূপ কিছু করা । Fg কালারটি বিগের সাথে মেলে?


0

এই পদ্ধতি দ্বারা, আপনি নির্দিষ্ট করেছেন যে কোনও নির্দিষ্ট কী টিপে আপনার প্রোগ্রামটি আবার শুরু করতে পারেন:

import keyboard
while True:
    key = keyboard.read_key()
    if key == 'space':  # you can put any key you like instead of 'space'
        break

একই পদ্ধতি কিন্তু অন্যভাবে:

import keyboard
while True:
    if keyboard.is_pressed('space'):  # same, you can put any key you like instead of 'space'
        break

দ্রষ্টব্য: আপনি নিজের keyboardমধ্যে শেল বা সেন্টিমিডি করে কেবল মডিউলটি ইনস্টল করতে পারেন :

pip install keyboard


-1

পাইথন 2/3 সামঞ্জস্যের জন্য, আপনি লাইব্রেরির inputমাধ্যমে ব্যবহার করতে পারেন six:

import six
six.moves.input( 'Press the <ENTER> key to continue...' )
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.