আর্কম্যাপের পাইথন উইন্ডোতে কীভাবে ম্যানুয়ালি স্টেটমেন্ট কার্যকর করা যায়?


20

কীভাবে একজন আর্কম্যাপের অজগর কনসোলে দীর্ঘ-চলমান প্রক্রিয়াটির কার্যকারিতা ভেঙে ফেলে?

উদাহরণস্বরূপ, একবার শুরু হওয়ার পরে আপনি কীভাবে নীচেরটির মতো দীর্ঘ পুনরাবৃত্তি ভাঙ্গবেন?

for i in range(1, 50):
  # some long process which takes over a minute to complete

কনসোল উইন্ডোতে আমার ইনপুট থাকা কোডটি চলমান অবস্থায় আমি কীবোর্ডের সংমিশ্রণটি টিপুন, একটি বোতামে বা অনুরূপ কিছুতে ক্লিক করে যে কোনও সময় প্রক্রিয়াটি থামাতে চাই ।


1
বিরতি দিয়ে আপনি কী বোঝাতে চেয়েছেন?
আর কে

@ আরকে: হ্যাঁ, আমি যেকোন সময় চাইলে এটিকে ছাড়তে বাধ্য করতে চাই, কারণ আমি (১) একটি অনাকাঙ্ক্ষিত আউটপুট দেখেছি, (২) ভুল প্রক্রিয়াকরণ আদেশ প্রবেশ করেছে, (৩) অন্য কোনও কারণ।
অ্যালেক্স এসিলফি

2
সম্ভাব্য কীবোর্ড শর্টকাটগুলি সন্ধান করেছে checked Ctrl + Z, Ctrl + C এবং ESC সব কাজ করে না। আপনি যা চান তা পূরণ করতে আপনার আইডিএল বা অন্য আইডিই ব্যবহার করতে হতে পারে।
আর কে

উইন্ডোজ মেশিনের জন্য এলএক্স টার্মিনালে সিটিআরএল + জেড ব্যবহার করুন

@ আনুরাগ: আপনার পরামর্শের জন্য আপনাকে ধন্যবাদ তবে আমার ইচ্ছা এটি নয়। আমি যা চাই তা হল আর্কম্যাপে পাইথন উইন্ডোর ভিতরে সম্পাদনা বন্ধ করা, কোনও আইডিই বা টার্মিনাল ব্যবহার না করে। আমি ইতিমধ্যে টার্মিনাল বা আইডিইতে কীভাবে কার্যকর করতে হবে তা জানি।
অ্যালেক্স Essilfie

উত্তর:


14

কেবল এটি পরীক্ষা করা হয়েছে এবং ESC কোনও কাজ করে না। আর্কজিআইএস কেবল এক মুহুর্তের জন্য স্থির হয়ে যায় এবং তারপরে অবিরত থাকে। এটি অর্গজিআইএস পাইথন কনসোলে একবার চালাবার পরে বল ছাড়ার কোনও উপায় বলে মনে হচ্ছে না। পাইথন প্রক্রিয়াটি সেখানে প্রদর্শিত না হওয়ায় আপনি টাস্ক ম্যানেজার ব্যবহার করে এটি হত্যা করতে পারবেন না।

আপনি যদি সত্যিই এটিকে ছেড়ে দিতে বাধ্য হতে চান তবে আপনি আর্কজিআইএস পাইথন কনসোলে না গিয়ে আইডলির মতো আইডিই ব্যবহার করার বিষয়টি বিবেচনা করতে পারেন। আইডলিতে উদাহরণস্বরূপ, আপনি কার্যকারিতাটি সমাপ্ত করতে Ctrl+ Zবা Ctrl+ ব্যবহার করতে পারেন C


1
আর্কজিআইএস প্রো পাইথন উইন্ডোটি প্রযুক্তিগত সীমাবদ্ধতার কারণে আরকজিআইএস ১০ এক্স উইন্ডোটি পারছে না, পাইথন কোডটি সম্পাদন করার সময় আপনাকে থামাতে দেয়।
জেসন শিয়েরার

9

এই পদ্ধতিটি আমি ব্যবহার করি:

  • কিল_প্রোসেক্স.পি নামে একটি ছোট অজগর স্ক্রিপ্ট তৈরি করুন
  • রান কিল_প্রসেক্স যখন স্টপ_প্রসেস.টেক্সট নামে একটি ছোট পরীক্ষা ফাইল তৈরি করে।
  • মূল প্রোগ্রামের লুপের উপরের বা নীচে স্টপ_প্রসেস.টিএসটি উপস্থিত রয়েছে কিনা তা পরীক্ষা করে দেখুন।
  • যদি এটি বিদ্যমান থাকে তবে আপনার যে কোনও ক্লিনআপ রুটিনগুলি প্রয়োজন তা কার্যকর করুন, তারপরে দয়া করে থামুন।
  • Stop_processx.txt ফাইলটি মুছুন

একটি কিল_প্রসেস.পি ফাইলের উদাহরণ:

import os 
nameof_killfile="stop_processx.txt"

if os.path.exists(nameof_killfile): 
    os.remove(nameof_killfile) 
else:
    killit=open(nameof_killfile,"w") 
    killit.close()

আপনি যে স্ক্রিপ্টটিকে "কিল_প্রসেস.পি" বলেছেন?
হারুন

1
কিল_প্রসেস স্ক্রিপ্টটি সঠিক ফোল্ডারে সঠিক নামের সাথে একটি খালি txt ফাইল তৈরি করে।
mhoran_psprep

আপনি কি দয়া করে আপনার পোস্টে একটি নমুনা স্ক্রিপ্ট অন্তর্ভুক্ত করতে পারেন, সুতরাং এটি কীভাবে ওপি-র প্রশ্নে সহায়তা করতে পারে সে সম্পর্কে আমরা আরও ভাল ধারণা পেতে পারি?
হারুন

@ মোহরান_এসপ্রেপ: আমি আরকে উত্তর গ্রহণ করেছি কারণ এটি প্রশ্নের উত্তর দিয়েছে (কোনও আইডিই না থাকলে এটি সম্ভব নয়)। আপনার কাজের জন্য +1। আমার ধারণা আমি ভবিষ্যতে এটি বাস্তবায়ন করব।
অ্যালেক্স এ্যাসিলফি

4

নিষ্ঠুর শক্তি কৌশল ব্যবহার করে শাটডাউনকে জোর করা খারাপ অভ্যাস। বরং @ অ্যারাগন যেমন উল্লেখ করেছেন তেমন উপাদানগুলি বিচ্ছিন্ন করতে আপনার স্ক্রিপ্টে হ্যান্ডলিংয়ের ত্রুটি যুক্ত করা উচিত এবং / অথবা কিছু শর্ত পূরণ না হলে স্ক্রিপ্টটি বন্ধ করুন। @RK দেখায় যে ArcGIS পাইথন কনসোল বাস্তবে জটিল স্ক্রিপ্টে দৌড়ানো, জন্য অখাদ্য পরবর্তী, সহজ অপারেশন জন্য সংরক্ষিত করা হবে না - দিয়ে বিদ্ধ অলস , pythonwin , pyscripter বা অন্যান্য IDEs হোস্ট কোন। আপনার প্রশ্ন সম্পর্কিত আলোচনা এখানে:

কোনও ত্রুটি বার্তা না দেখিয়ে তাড়াতাড়ি প্রস্থান করার জন্য আমি কীভাবে একটি আরকি স্ক্রিপ্টে sys.exit (0) ব্যবহার করব?

পাইথন স্ক্রিপ্টের সমাপ্তি

পাইথনে কমান্ড বা প্রম্পট কীভাবে থামানো যায়?


1
এবং অবশ্যই, পাইস্ক্রিপ্টারের মতো আইডিইয়ের সাহায্যে আপনি আপনার "ফর ... রেঞ্জ" স্টেটমেন্টে একটি "ব্রেক পয়েন্ট" যুক্ত করতে পারেন, "ডিবাগ মোডে" স্ক্রিপ্টটি চালাতে পারেন এবং আইডিই একই সাথে স্বয়ংক্রিয়ভাবে "বিরতি" দেবে পুনরাবৃত্তির প্রক্রিয়া চলাকালীন নির্দেশ করুন এবং ইতিমধ্যে প্রক্রিয়াধীন ফলাফলগুলি আপনাকে পরিদর্শন করার অনুমতি দিন।
রায়য়ানডাল্টন-অফগ্রিড গ্রিডম্যাপগুলি

2

আমি 10.4 এ কাজ করছি এবং আমি খুঁজে পেয়েছি যে এখানে চিত্র বর্ণনা লিখুনস্ক্রিপ্ট চলাকালীন আমি ঘনিষ্ঠ এক্সে ক্লিক করতে পারি । আর্কম্যাপ আমাকে জিজ্ঞাসা করবে আমি কোনও অপারেশন বাতিল করতে চাই কিনা।

এখানে চিত্র বর্ণনা লিখুন

আমি হ্যাঁ ক্লিক করি। আর্কম্যাপ তখন আমাকে জিজ্ঞাসা করে যে আমি প্রস্থান করার আগে সংরক্ষণ করতে চাই কিনা। আমি বাতিল ক্লিক করুন। স্ক্রিপ্টটি একটি কীবোর্ড বাধা দেয়।


ক্রমের এই ক্রমটি ট্রিগার করতে আপনি কোন ঘনিষ্ঠ বোতামটি ক্লিক করেন?
অ্যালেক্স এসিলফি

বেশিরভাগ (সমস্ত?) উইন্ডোজ সফ্টওয়্যারটির উপরের ডানদিকে উইন্ডোজ লাল এক্স। আমার উত্তরে ছোট্ট ছবিটি দেখুন।
এমিল ব্রুঞ্জেজ

1

আপনি যদি পাইথোনিক উপায়ে সমাধান করতে চান তবে এটি চেষ্টা করুন:

import sys
sys.exit()

বা ব্যবহার করুন:

raise SystemExit()

বিস্তারিত:

import time
import sys

sTime= time.time()

if time.time() - sTime > 60:
   sys.exit()

আমি এটি আপনাকে সাহায্য করে আশা করি...


না, এই হল না আমি কি চাই। কনসোল উইন্ডোতে আমার ইনপুট থাকা কোডটি চলমান অবস্থায় আমি কীবোর্ডের সংমিশ্রণটি টিপুন, একটি বোতামে বা অনুরূপ কিছুতে ক্লিক করে যে কোনও সময় প্রক্রিয়াটি থামাতে চাই । আমি সচেতন sys.exit()কিন্তু এটি যখন লুপ বা একইভাবে দীর্ঘ প্রক্রিয়া চলমান তখন কাজ করে না।
অ্যালেক্স এসিলফি

@ ইউপভোটার্স: এটি আমি উত্তর খুঁজছি না this এটা আমার প্রশ্নের উত্তর দেয় না । আমি একটি কীবোর্ড সংমিশ্রণ টিপে বা একটি বোতাম বা অনুরূপ কিছু ক্লিক করে একটি বিবৃতিটির (সাধারণত পুনরাবৃত্তি) কার্যকর করতে চাই।
অ্যালেক্স এসিলফি

1

কমপক্ষে অর্কম্যাপ 10.4 এ, আপনি এটি করতে পারেন। "ফলাফল" উইন্ডোটি দৃশ্যমান তা নিশ্চিত করুন। (এটি "জিওপ্রসেসিং" এর আওতায় না পেলে)। এখন আপনার যদি কোনও কমান্ড চলমান থাকে তবে এটি এই উইন্ডোটিতে প্রদর্শিত হবে। এটিতে রাইট ক্লিক করুন এবং "বাতিল করুন" টিপুন।


0

কোডের প্রতিটি লাইনের অধীনে আপনি যদি একটি ifচেক if input()=="what ever you want in here"ব্যবহার করেন যা যুক্ত করেন sys.exit

উদাহরণস্বরূপ: https://repl.it/@kquazi_tcsp/ জম্পি প্রাকৃতিক মেটাডেটা


আশা করি এটা কাজে লাগবে.
কাইরান কাজী

0

আইডিএল ব্যবহার করে, আমার কাছে "স্টপ.পি" নামে একটি ফাইল রয়েছে যার মধ্যে একক লাইন রয়েছে: "পাস"। অন্য একটি .পি স্ক্রিপ্ট চলার সময় এই ফাইলটিকে আইডিএল-তে খোলা রাখুন। "স্টপ.পি" উইন্ডোতে এফ 5 ক্লিক করে আইডিএল পুনরায় সেট করা।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.