পাইথনে সর্বজনীন নিউলাইনস মোডকে কেন হ্রাস করা হয়?


26

আমি কেবল লক্ষ্য করেছি যে ফাইল অপারেশনের সর্বজনীন নিউলাইন বৈশিষ্ট্যটি বেরিয়ে আসছে বলে মনে হচ্ছে।

পাইথন 3.5 openএর modeপ্যারামিটারের জন্য ডকুমেন্টেশন ইঙ্গিত করে যে এটি হ্রাস পেয়েছে:

'U' সর্বজনীন নিউলাইনস মোড (হ্রাস করা)

কমপক্ষে পাইথন ৩.২-এর openমতো পিছনে, modeআর্গুমেন্টের ব্যবহারের ডকুমেন্ট করার সময় একটি অনুরূপ "পিছনে সামঞ্জস্য কেবল" সতর্কতা রয়েছে :

'U' সর্বজনীন নিউলাইনস মোড (পিছনের সামঞ্জস্যের জন্য; নতুন কোডে ব্যবহার করা উচিত নয়)

এমনকি পাইথন ২.7 এও, এর ডকুমেন্টেশনে অনুরূপ সতর্কতা দেওয়া হয়েছে io.open

এর কারণ কী?


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

কারণ ফাইলগুলি ডিফল্টরূপে সর্বজনীন নিউলাইন মোডে খোলা থাকে।
বোরিস

উত্তর:


37

open()ফাংশন পাইথন 3 লাইব্রেরিতে টি newlineযুক্তি। এটিকে সেট করা Noneসর্বজনীন নিউলাইনগুলিকে সক্ষম করে। এটি যুক্ত করার জন্য এটি গ্রহণযোগ্য উপায় mode='U'

newline=Noneসর্বজনীন নিউলাইনস মোড সক্ষম করতে ব্যবহার করুন (এটি ডিফল্ট)।


5
দেখে মনে হচ্ছে আমি ভুল বুঝেছি। আমি এটি বলেছিলাম যে সাধারণভাবে সর্বজনীন নিউলাইনগুলি কেবল মোডের চরিত্রটিকেই নয়, হ্রাস করা হচ্ছে। যে পরিষ্কার করার জন্য ধন্যবাদ।
jpmc26

6

এই প্রশ্নটি নিয়ে হোঁচট খাওয়ার পরে, আমি কী চলছে তা সম্পর্কে পরিষ্কার হতে ডকুমেন্টেশন আপডেট করেছি ( https://github.com/python/cpython/pull/11646/files )।

বিভ্রান্তিকরভাবে ক্রিপ্টিক টেবিল এন্ট্রি 'U'চলে গেছে, এবং এর পরিবর্তে আরও নিচে একটি অনুচ্ছেদে বলা হয়েছে:

অনুমোদিত অতিরিক্ত মোড ক্যারেক্টার রয়েছে 'U', যার আর কোনও প্রভাব নেই এবং অবহিত হিসাবে বিবেচিত হয়। এটি পূর্বে সক্ষম হয়েছে: শব্দটি: universal newlinesপাঠ্য মোডে, যা পাইথন 3.0 এ ডিফল্ট আচরণে পরিণত হয়েছিল। newline <open-newline-parameter>আরও তথ্যের জন্য : রেফ: প্যারামিটারের ডকুমেন্টেশন দেখুন।

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