এটি কোথা থেকে আসে: - * - কোডিং: utf-8 - * -


135

পাইথন নিম্নলিখিত নির্দেশাবলী হিসাবে স্বীকৃতি দেয় যা ফাইলের এনকোডিং সংজ্ঞায়িত করে:

# -*- coding: utf-8 -*-

আমি অবশ্যই ( -*- var: value -*-) এর আগে এই ধরণের নির্দেশাবলী দেখেছি । এটা কোথা থেকে এসেছে? পূর্ণ স্পেসিফিকেশন কী, উদাহরণস্বরূপ মানটিতে স্পেস, বিশেষ চিহ্ন, নিউলাইন এমনকি নিজেরও অন্তর্ভুক্ত থাকতে -*-পারে?

আমার প্রোগ্রামটি সরল পাঠ্য ফাইলগুলি লিখবে এবং আমি এই ফর্ম্যাটটি ব্যবহার করে তাদের মধ্যে কিছু মেটাডেটা অন্তর্ভুক্ত করতে চাই।


3
এটি স্মরণ করা সহজ এবং আমার সম্পাদক পাইচার্মে কাজ করে। # coding: utf-8
ক্রিজক্রাইগ

2
ব্যবহার # coding: utf8পাইথন 2.7 সঙ্গে বাক্সের বাইরে কাজ, এমনকি PyCharm বাইরে। (আমি সাবলাইম টেক্সট ব্যবহার করি)।
বসজ


1
@ সিবিহে এই প্রশ্নটি পাইথন সম্পর্কিত নয়, নির্দেশ কী করে বা এটি কীভাবে কাজ করে তা নয়। এটি জিজ্ঞাসা করছে যে প্রাক-পাইথন সফ্টওয়্যার এটি আবিষ্কার করেছে এবং এটিতে কেবল ফাইল এনকোডিংয়ের চেয়ে আরও কিছু রয়েছে কিনা।
হামস্টারজিন

উত্তর:


89

পাইথন ফাইলের এনকোডিং নির্দিষ্ট করার এই উপায়টি পিইপি 0263 থেকে এসেছে - পাইথন উত্স কোড এনকোডিংগুলি সংজ্ঞায়িত করছে

এটি জিএনইউ ইমাক্স দ্বারাও স্বীকৃত ( পাইথন ল্যাঙ্গুয়েজ রেফারেন্স, ২.১.৪ এনকোডিং ঘোষণাগুলি দেখুন ), যদিও আমি জানি না যে এই সিনট্যাক্সটি ব্যবহার করার প্রথম প্রোগ্রাম ছিল কিনা।


4
আমি ইমাস ম্যানুয়াল থেকে যা উপসংহার করতে পারি তার থেকে মানটি কোনও এলআইএসপি এক্সপ্রেশন হতে পারে, বিশেষত, একটি ডাবল-
কোটযুক্ত

পিপ লিঙ্কের জন্য ধন্যবাদ। আমি আগে এই ধারণার মধ্যে ছিলাম যে নির্দেশটি কেবল পাঠ্য সম্পাদক দ্বারা ব্যবহৃত হয়েছিল। এখন অবধি আমি কখনই জানতাম না যে পাইথন ইন্টারপ্রেটারটি আসলে ফাইলটির প্রথম দুটি লাইনে উপস্থিত থাকলে মন্তব্যটি বিশ্লেষণ করেছে।
umeboshi

13

# -*- coding: utf-8 -*-পাইথন 2 জিনিস। পাইথন 3+-তে, উত্স ফাইলগুলির ডিফল্ট এনকোডিং ইতিমধ্যে ইউটিএফ -8 এবং সেই লাইনটি অকেজো।

দেখুন: পাইথন 3-এ কি আমার এনকোডিং ঘোষণা ব্যবহার করা উচিত?

pyupgradeপাইথন 2 থেকে আপনার মতামতগুলি এবং অন্যান্য-আর-দরকারী-বাম-ওভারগুলি যেমন আপনার সমস্ত শ্রেণীর উত্তরাধিকারসূত্রে প্রাপ্ত হ'তে সরিয়ে দেওয়ার জন্য আপনি আপনার কোডটিতে চালনা করতে পারেন object


8

এটিকে ফাইল স্থানীয় ভেরিয়েবল বলা হয় যা ইম্যাকস দ্বারা বোঝা যায় এবং একইভাবে সেট করা হয়। ইমাস ম্যানুয়ালটিতে সংশ্লিষ্ট বিভাগটি দেখুন - আপনি সেগুলি হেডার বা ফাইলের পাদদেশে নির্ধারণ করতে পারেন


এই নির্দিষ্ট ধরণের ফাইলের স্থানীয় ভেরিয়েবলটি পাইথন ইন্টারপ্রেটার নিজেই বোঝে এটি কেবল পাঠ্য সম্পাদকদের জন্য নয়। stackoverflow.com/questions/41680533/…
বোরিস

4

পাইচার্মে, আমি এটি ছেড়ে দেব। এটি নীচে UTF-8 সূচকটি একটি সতর্কতা সহ বন্ধ করে দেয় যে এনকোডিংটি হার্ড-কোডড। আপনার উপরে উল্লিখিত পাইচার্ম মন্তব্যটি প্রয়োজন বলে মনে করবেন না।


আসলে, যদি আমি test1 = 'äöü'এটির মতো একটি লাইন রাখি তবে আপনাকে ফাইলটিতে এমন একটি শিরোনাম যুক্ত করার ইঙ্গিত দেবে। (পাইচার্ম 2019.1)
কাটন আই

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