.Py এক্সটেনশন ছাড়াই টার্মিনাল থেকে পাইথন স্ক্রিপ্ট চলছে


14

আমি একটি পাইথন স্ক্রিপ্ট কল করতে চান script.py কেবল টাইপ করে টার্মিনাল থেকে স্ক্রিপ্ট । এটা কি সম্ভব? যদি তাই হয়, কিভাবে?

আমি জানি আমি স্ক্রিপ্টের শীর্ষে #! / Usr / bin / env পাইথন যুক্ত করে পাইথন স্ক্রিপ্ট.পি টাইপ করা এড়াতে পারি , তবে স্ক্রিপ্টটি চালানোর জন্য আমাকে এখনও প্রত্যয় যোগ করতে হবে py

উত্তর:


21

উইন্ডোজ যেভাবে এক্সটেনশনের উপর নির্ভর করে না ইউনিক্স / লিনাক্স ফাইল সিস্টেমগুলি। .pyফাইল চালানোর জন্য আপনার শেষের প্রয়োজন হবে না ।

আপনি উভয়ই দোভাষী দিয়ে কল করে ফাইলটি চালাতে পারেন:

python ScriptFile

অথবা এটিকে এক্সিকিউটেবল চিহ্নিত করে এবং প্রথম লাইনে দোভাষীকে সংজ্ঞায়িত করে (যেমন #!/usr/bin/python)।

আপনি যদি ফাইলটি চালাতে অক্ষম হন তবে:

/Path/to/ScriptFile

সাথে অনুমতি চেক করুন

ls -l ScriptFile

আপনাকে এক্সিকিউটেবল ফ্ল্যাগ যুক্ত করতে হবে এবং chmodএটি আপনার জন্য কার্যকর করা হবে।

আপনি যদি কাস্টম স্ক্রিপ্টগুলি নিয়মিত ব্যবহার করছেন তবে আপনি নিশ্চিত করতে পারেন যে আপনি যে ডিরেক্টরিটি সঞ্চয় করেছেন সেগুলি PATHপরিবেশের ভেরিয়েবলের সাথে যুক্ত হয়েছে।


1
ফাইলটি ~ / ওয়ার্কস্পেস / পাইথনে রয়েছে। আমি আমার পথে ~ / ওয়ার্কস্পেস / পাইথন যুক্ত করেছি, আমি sudo chmod এ + এক্স স্ক্রিপ্ট.পি চালিয়েছি, এবং আমি স্ক্রিপের শীর্ষে শেবাং লাইন (#! / Usr / bin / env পাইথন) যুক্ত করেছি আমি * স্ক্রিপ্ট.পি টাইপ করে স্ক্রিপ্টটি চালাতে পারি , তবে কেবল স্ক্রিপ্ট টাইপ করে কাজ করে না
jmau5

2
ইউনিক্স / লিনাক্সে সমস্ত কিছুই একটি ফাইল এবং তার ফাইলটির নামতে সাড়া দেয়। আপনি স্ক্রিপ্ট.পিকে স্ক্রিপ্ট হিসাবে কল করতে পারবেন না। স্ক্রিপ্ট.পি থেকে স্ক্রিপ্টে ফাইলটির নামকরণের চেষ্টা করুন এবং এটি আপনার সমস্যার সমাধান করবে।
প্যাট্রিক

দুঃখিত আমি ভুল বুঝেছি! সবকিছু সমাধান, ধন্যবাদ!
jmau5

5

.pyএক্সটেনশন স্ক্রিপ্ট চালানোর জন্য অপ্রয়োজনীয়। আপনাকে কেবল স্ক্রিপ্টটি সম্পাদনযোগ্য করতে হবে (উদাহরণস্বরূপ চালিয়ে chmod a+x script) এবং শেবাং লাইন যুক্ত করতে হবে ( #!/usr/bin/env python)।


প্যাট্রিকের জবাব সম্পর্কে আমার মন্তব্য দেখুন।
jmau5

4

বিকল্প হিসাবে আপনি আপনার স্ক্রিপ্টের জন্য একটি .pyফাইলের তৈরি করতে পারেন (একটি ফাইল):

উদাহরণস্বরূপ, আপনার কাছে একটি স্ক্রিপ্ট রয়েছে runme.pyযাতে আপনি runmeস্ক্রিপ্টটি মোড়ানোর জন্য নতুন ফাইল তৈরি করতে পারেন :

#!/usr/bin/env python
import runme

এবং তারপরে শেলটিতে ডেকে runme.pyকার্যকারিতাটি কল করুন runme

এটি মাল্টিপ্লাটফর্ম স্ক্রিপ্টগুলির জন্য দরকারী, কারণ উইন্ডোজ প্ল্যাটফর্মে আপনি .pyফাইলগুলিকে নাম দিয়ে কেবল বিন্যাস এবং শিরোংহে শিরোনামে শিরোনাম দিতে পারেন তবে লিনাক্স প্ল্যাটফর্মে আপনি পারবেন না এবং এইভাবে মোড়ক বেরিয়ে আসে।

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