এই অজগর ফাইল এক্সটেনশনের অর্থ কী?
- .pyc
- .pyd
- .pyo
তাদের মধ্যে পার্থক্য কী কী এবং কীভাবে তারা * .py ফাইল থেকে উত্পন্ন হয়?
এই অজগর ফাইল এক্সটেনশনের অর্থ কী?
তাদের মধ্যে পার্থক্য কী কী এবং কীভাবে তারা * .py ফাইল থেকে উত্পন্ন হয়?
উত্তর:
.py: এটি সাধারণত আপনার লেখা যে ইনপুট উত্স কোড।.pyc: এটি বাইকোড সংকলিত। আপনি যদি কোনও মডিউল আমদানি করেন তবে পাইথন একটি *.pycফাইল তৈরি করবে যাতে এটি আবার আমদানি করা আরও সহজ (এবং দ্রুত) করার জন্য বাইটকোড ধারণ করে।.pyo: এটি পাইথন 3.5 এর আগে ব্যবহৃত ফাইলগুলির ফর্ম্যাট যা *.pycঅপ্টিমাইজেশন ( -O) পতাকা সহ তৈরি করা হয়েছিল for (নীচের নোট দেখুন).pyd: এটি মূলত একটি উইন্ডোজ dll ফাইল। http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll.pycবনাম সম্পর্কে আরও আলোচনার জন্য .pyo, একবার দেখুন: http://www.network-theory.co.uk/docs/pytut/CompiledPythonfiles.html (আমি নীচের গুরুত্বপূর্ণ অংশটি অনুলিপি করেছি)
- পাইথন ইন্টারপ্রেটার -O পতাকা সহ যখন ডাকা হয়, তখন অনুকূলিত কোডটি তৈরি হয় এবং '.pyo' ফাইলগুলিতে সঞ্চিত হয়। অপ্টিমাইজার বর্তমানে অনেক সাহায্য করে না; এটি কেবল দৃsert় বক্তব্যগুলি সরিয়ে দেয়। যখন -O ব্যবহার করা হয়, সমস্ত বাইকোড অনুকূলিত হয়; .pyc ফাইলগুলি উপেক্ষা করা হয় এবং .py ফাইলগুলি বায়োটোড অপ্টিমাইজ করতে সংকলিত হয়।
- পাইথন ইন্টারপ্রেটার (-OO) এ দুটি-ও পতাকা পাস করার ফলে বাইটকোড সংকলকটি অপ্টিমাইজেশন সম্পাদন করতে পারে যা কিছু বিরল ক্ষেত্রে ফলস্বরূপ প্রোগ্রামগুলির ফলস্বরূপ হতে পারে। বর্তমানে কেবল
__doc__বাইকোড থেকে স্ট্রিংগুলি সরানো হবে, এর ফলে আরও কমপ্যাক্ট '.pyo' ফাইল তৈরি হবে। যেহেতু কিছু প্রোগ্রাম এগুলি উপলভ্য হওয়ার উপর নির্ভর করতে পারে, আপনি কী করছেন তা যদি আপনার জানা থাকে তবে আপনার কেবল এই বিকল্পটি ব্যবহার করা উচিত।- একটি '.pyc' বা '.pyo' ফাইল থেকে '.py' ফাইল থেকে পড়ার চেয়ে কোনও প্রোগ্রাম দ্রুততর হয় না; '.pyc' বা '.pyo' ফাইলগুলি সম্পর্কে দ্রুত যা কেবল সেগুলিই লোড হওয়া গতি।
- কমান্ড লাইনে কোনও স্ক্রিপ্টের নাম দিয়ে চালানো হয়, স্ক্রিপ্টের জন্য বাইটকোড কখনও '.pyc' বা '.pyo' ফাইলে লেখা হয় না। সুতরাং, কোনও স্ক্রিপ্টের শুরুর সময়টি বেশিরভাগ কোডকে মডিউলে নিয়ে যায় এবং একটি ছোট বুটস্ট্র্যাপ স্ক্রিপ্ট থাকে যা সেই মডিউলটি আমদানি করে। কমান্ড লাইনে সরাসরি '.pyc' বা '.pyo' ফাইলটির নামকরণও সম্ভব।
বিঃদ্রঃ:
2015-09-15 এ পাইথন 3.5 রিলিজ PEP-488 প্রয়োগ করেছে এবং .pyoফাইলগুলি মুছে ফেলেছে। এর অর্থ হ'ল .pycফাইলগুলি বিনা চঞ্চল এবং অপ্টিমাইজড বাইটকোড উভয়েরই প্রতিনিধিত্ব করে।
def f(x): assert(x**5 == x*x*x*x*x); return x; import timeit; print(timeit.repeat("for x in range(100): f(x)", "from __main__ import f", number=10000));
.pyoফাইলগুলির ধারণাকে সরিয়ে দেয় । এমনকি অপ্টিমাইজড বাইটকোডটি .pycপাইথন ৩.৩ এর সাথে এক্সটেনশন দিয়ে শেষ হয় ।
sys.path। siteমডিউল দেখুন ।অতিরিক্ত পাইথন ফাইল-এক্সটেনশনের একটি বৃহত তালিকা (বেশিরভাগ বিরল এবং বেসরকারী) http://dcjtech.info/topic/python-file-extensions/ এ পাওয়া যাবে
.pthফাইলগুলি নিয়ে আলোচনা করা উচিত ।