মূলত আমি এই লোকটি যা করেছে তার বিপরীতে করতে চাই ... হি।
পাইথন স্ক্রিপ্ট: প্রতিটি লাইনে বিদ্যমান লাইনটি আপডেট করার পরিবর্তে শেল করতে নতুন লাইন মুদ্রণ করুন
আমার একটি প্রোগ্রাম রয়েছে যা আমাকে বলছে এটি কতটা দূরে।
for i in some_list:
#do a bunch of stuff.
print i/len(some_list)*100," percent complete"
সুতরাং যদি লেন (কিছু_ তালিকা) 50 হয়, আমি শেষ লাইনটি 50 বার মুদ্রিত করব। আমি একটি লাইন মুদ্রণ করতে চাই এবং সেই লাইনটি আপডেট করে রাখতে চাই। আমি জানি আমি জানি এটি সম্ভবত সবচেয়ে খোঁড়া প্রশ্ন যা আপনি সারা দিন পড়বেন। উত্তর পাওয়ার জন্য গুগলে আমার যে চারটি শব্দ ব্যবহার করা দরকার তা কেবল আমিই বুঝতে পারি না।
হালনাগাদ! আমি এমভিডিএসের পরামর্শটি চেষ্টা করেছিলাম যা ঠিক আছে। নতুন কোড
print percent_complete," \r",
শতকরা সম্পূর্ণটি কেবল একটি স্ট্রিং (আমি প্রথমবার আক্ষরিক হয়ে উঠার চেষ্টা করছিলাম তবে আমি আক্ষরিক হওয়ার চেষ্টা করছিলাম)। ফলস্বরূপ এখন এটি প্রোগ্রামটি চালায়, প্রোগ্রামটি শেষ হওয়ার আগ পর্যন্ত কোনও কিছুই মুদ্রণ করে না এবং তারপরে একটি এবং কেবল একটি লাইনে "100 শতাংশ সম্পূর্ণ" মুদ্রণ করে।
ক্যারিজ রিটার্ন ব্যতীত (তবে কমা সহ, এমভিডিসের অর্ধেক পরামর্শ) শেষ পর্যন্ত কিছুই মুদ্রণ করে না। এবং তারপরে প্রিন্ট করুন:
0 percent complete 2 percent complete 3 percent complete 4 percent complete
ইত্যাদি। সুতরাং এখন নতুন সমস্যাটি কমা দিয়ে প্রোগ্রামটি শেষ না হওয়া পর্যন্ত এটি মুদ্রণ করবে না।
ক্যারেজ রিটার্ন এবং কোনও কমা দিয়ে এটি দুজনের মতোই হুবহু আচরণ করে।
sys.stdout.isatty()
যাতে টার্মিনালে না চলাকালীন আপনি এই জিনিসগুলিকে থুতু না ফেলে।