পাইথন .পিডি .পিও কি পাইথন ফাইল এক্সটেনশনগুলি দাঁড়ায়?


436

এই অজগর ফাইল এক্সটেনশনের অর্থ কী?

  • .pyc
  • .pyd
  • .pyo

তাদের মধ্যে পার্থক্য কী কী এবং কীভাবে তারা * .py ফাইল থেকে উত্পন্ন হয়?

উত্তর:


481
  1. .py: এটি সাধারণত আপনার লেখা যে ইনপুট উত্স কোড।
  2. .pyc: এটি বাইকোড সংকলিত। আপনি যদি কোনও মডিউল আমদানি করেন তবে পাইথন একটি *.pycফাইল তৈরি করবে যাতে এটি আবার আমদানি করা আরও সহজ (এবং দ্রুত) করার জন্য বাইটকোড ধারণ করে।
  3. .pyo: এটি পাইথন 3.5 এর আগে ব্যবহৃত ফাইলগুলির ফর্ম্যাট যা *.pycঅপ্টিমাইজেশন ( -O) পতাকা সহ তৈরি করা হয়েছিল for (নীচের নোট দেখুন)
  4. .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ফাইলগুলি বিনা চঞ্চল এবং অপ্টিমাইজড বাইটকোড উভয়েরই প্রতিনিধিত্ব করে।


2
পাইথন স্ক্রিপ্টস বা সি / সি ++ স্ক্রিপ্ট থেকে ডেল ফাইলগুলি উত্পন্ন?
ইয়াঙ্কি টোভিজি

1
@ ইয়ঙ্কিটভিজ: হ্যাঁ। সেগুলি সি / সি ++ কোড থেকে উত্পন্ন করা উচিত। ফাইলটি মেশিন কোডে থাকা উচিত, সুতরাং এটি অজগর থেকে সরাসরি হতে পারে না।
বিল লিঞ্চ

"বর্তমানে অপ্টিমাইজারটি খুব বেশি সহায়তা করে না; এটি কেবল দৃsert় বিবৃতিগুলি সরিয়ে দেয়"। আপনি যদি এই বিষয়ে নিশ্চিত? চেষ্টা করুন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));
জর্জি লিটাও

@ জেসিএলিটো: আমি কি সম্পর্কে নিশ্চিত? আপনার মন্তব্যে কেবল একটি মন্তব্যে কোড নিক্ষেপ করার চেয়ে আপনার উদাহরণটি কী দেখায় তা আপনি ব্যাখ্যা করতে পারেন।
বিল লিঞ্চ

9
দ্রষ্টব্য যে পাইথন 3.5 তে , পিইপি 488 প্রয়োগ করা হয়েছে যা .pyoফাইলগুলির ধারণাকে সরিয়ে দেয় । এমনকি অপ্টিমাইজড বাইটকোডটি .pycপাইথন ৩.৩ এর সাথে এক্সটেনশন দিয়ে শেষ হয় ।
মাইকেল কারি

228
  • .py - নিয়মিত স্ক্রিপ্ট
  • .py3 - (খুব কম ব্যবহৃত) পাইথন 3 স্ক্রিপ্ট। পাইথন 3 স্ক্রিপ্টগুলি সাধারণত ".py" নয় ".P3" দিয়ে শেষ হয়, তবে আমি কয়েকবার দেখেছি
  • .pyc - সংকলিত স্ক্রিপ্ট (বাইটকোড)
  • .pyo - অনুকূলিত পাইক ফাইল (পাইথন 3.5 হিসাবে পাইথন কেবল পাইও এবং পাইকের পরিবর্তে পাইক ব্যবহার করবে)
  • .pyw - পাইথন স্ক্রিপ্টটি উইন্ডোড মোডে চালিত হবে, কোনও কনসোল ছাড়াই; pythonw.exe দিয়ে মৃত্যুদন্ড কার্যকর করা হয়েছে
  • .pyx - সিথন এসসিআর কে সি / সি ++ এ রূপান্তর করতে হবে
  • .pyd - পাইথন স্ক্রিপ্টটি একটি উইন্ডোজ ডিএলএল হিসাবে তৈরি
  • .pxd - সিথন স্ক্রিপ্ট যা একটি সি / সি ++ শিরোনামের সমতুল্য
  • .pxi - মাইপাই স্টাব
  • .pyi - স্টাব ফাইল ( পিইপি 484 )
  • .pyz - পাইথন স্ক্রিপ্ট সংরক্ষণাগার ( পিইপি 441 ); এটি স্ট্যান্ডার্ড পাইথন স্ক্রিপ্ট শিরোনামের পরে বাইনারি আকারে সংকীর্ণ পাইথন স্ক্রিপ্টগুলি (জিপ) সমেত একটি স্ক্রিপ্ট
  • .pywz - এমএস-উইন্ডোজ ( পিইপি 441 ) এর জন্য পাইথন স্ক্রিপ্ট সংরক্ষণাগার ; এটি স্ট্যান্ডার্ড পাইথন স্ক্রিপ্ট শিরোনামের পরে বাইনারি আকারে সংকীর্ণ পাইথন স্ক্রিপ্টগুলি (জিপ) সমেত একটি স্ক্রিপ্ট
  • .py [cod] - ".gitignore" এ ওয়াইল্ডকার্ড স্বরলিপি যার অর্থ ফাইলটি ".pyc", ".pyo", বা ".pyd" হতে পারে।
  • .pth - একটি পাথ কনফিগারেশন ফাইল; এর সামগ্রীগুলি অতিরিক্ত আইটেম (প্রতি লাইনে এক) যুক্ত করতে হবে sys.pathsiteমডিউল দেখুন ।

অতিরিক্ত পাইথন ফাইল-এক্সটেনশনের একটি বৃহত তালিকা (বেশিরভাগ বিরল এবং বেসরকারী) http://dcjtech.info/topic/python-file-extensions/ এ পাওয়া যাবে


11
এটি লক্ষ করা উচিত যে একটি py .pyx »ফাইলটি পাইথন উত্স নয় যা সিতে রূপান্তরিত হয়েছে, বরং সাইথন উত্স কোড (যেমন: সিতে রূপান্তরিত হওয়ার অপেক্ষায়)
ফ্রেড অস্টেরথ

পিওয়াইআই এক্সটেনশনে "আমি" কী উপস্থাপন করে? "অন্তর্ভুক্ত" / "বাস্তবায়ন" / "ইন্টারফেস"?
ক্রিসফ্রিমান

1
.pw এর অর্থ পাইথন স্ক্রিপ্ট যা পাইথন 4 উইন্ডোজ নয় উইন্ডো তৈরি করে। .pw * * নিক্সের অধীনে মৃত্যুদন্ড কার্যকর করা যায়
কোটাউসকাস

1
সাধারণভাবে .pyw হ'ল উইন্ডোড মোডে চালিত স্ক্রিপ্ট, অর্থাত্ কোনও কনসোল আউটপুট ছাড়াই। @ ভ্লাদিস্লাভ টনচরভ হিসাবে বলা হয়েছে যে তারা বেশিরভাগ প্ল্যাটফর্মগুলিতে চালানো যেতে পারে যা এটি ইনস্টলড থাকলে পাইথন সমর্থন করে ।
স্টিভ বার্নেস

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