'Rt' এবং 'wt' মোডে ফাইলগুলি খুলুন


108

এখানে বেশ কয়েকবার আমি লোকদের ফাইল পড়ার এবং লেখার জন্য rtএবং wtমোডগুলি ব্যবহার করতে দেখেছি ।

উদাহরণ স্বরূপ:

with open('input.txt', 'rt') as input_file:
     with open('output.txt', 'wt') as output_file: 
         ...

আমি নথিবদ্ধ মোডগুলি দেখতে পাচ্ছি না তবে যেহেতু open()কোনও ত্রুটি ছুঁড়েছে না - দেখে মনে হচ্ছে এটি ব্যবহার করা বেশ আইনী।

এটি কিসের জন্য এবং wtবনাম wএবং rtবনাম ব্যবহারের মধ্যে কোনও পার্থক্য রয়েছে r?

উত্তর:


193

tপাঠ্য মোড বোঝায়। তার মাঝে কোন পার্থক্য নেই rএবং rtবা wএবং wtযেহেতু টেক্সট মোড পূর্বনির্ধারিত।

এখানে দলিলযুক্ত :

Character   Meaning
'r'     open for reading (default)
'w'     open for writing, truncating the file first
'x'     open for exclusive creation, failing if the file already exists
'a'     open for writing, appending to the end of the file if it exists
'b'     binary mode
't'     text mode (default)
'+'     open a disk file for updating (reading and writing)
'U'     universal newlines mode (deprecated)

ডিফল্ট মোডটি 'r'(পাঠ্য পড়ার জন্য উন্মুক্ত, এর প্রতিশব্দ 'rt')।


4
ভাল, এটি পাইথন 3 ডক্সে নথিভুক্ত। সুতরাং, মূলত wtবনাম wএবং rtবনামের মধ্যে কোনও পার্থক্য নেই r- ঠিক explicit is better than implicit?
অ্যালেক্সেক্স

@alecxe রাইট, যেহেতু টেক্সট মোড ডিফল্ট, তার মাঝে কোন পার্থক্য নেই rএবং rt...
devnull

9
নোট যে wসর্বদা সমান নয় wt। এর মধ্যে একটি ক্ষেত্রে gzip.openবাইনারি মোড ডিফল্ট এবং পাঠ্য মোড নয় is সম্পর্কিত প্রশ্ন: stackoverflow.com/questions/42013083/…
কার্ল একেরোট

9

এটি tপাঠ্য মোড নির্দেশ করে, অর্থাত্ \nকোনও ফাইলে লেখার সময় অক্ষরগুলি হোস্ট ওএস লাইন সমাপ্তিতে অনুবাদ করা হবে, এবং পড়ার সময় আবার ফিরে আসবে। পাঠ্য মোডটি ডিফল্ট হওয়ায় পতাকাটি মূলত সবেমাত্র শব্দ হয়।

অন্য U, যারা মোড পতাকা প্রমিত C লাইব্রেরির থেকে সরাসরি আসা fopen()ফাংশন, একটা সত্য যে ষষ্ঠ অনুচ্ছেদে নথিভুক্ত করা python2 ডকুমেন্টেশন জন্য open()

যতদূর আমি জানি, tএটি সি স্ট্যান্ডার্ডের অংশ নয় এবং এটি কখনও হয়নি, সুতরাং যদিও সি লাইব্রেরির অনেকগুলি বাস্তবায়ন এটিকে যাইহোক গ্রহণ করে, তার সমস্ত নিশ্চয়তার কোনও গ্যারান্টি নেই এবং সুতরাং এটি প্রতিটি বিল্ডে কাজ করবে এমন কোনও গ্যারান্টি নেই no পাইথন। এটি ব্যাখ্যা করে যে পাইথন 2 ডক্স কেন এটি তালিকাভুক্ত করে না এবং কেন এটি সাধারণত যেভাবে কাজ করে। Python3 ডক্স এটিকে অফিসিয়াল বানান।


4

'আর' পড়ার জন্য, 'ডাব্লু' লেখার জন্য এবং 'এ' যুক্ত করার জন্য।

'T' বাইনারি মোডের জন্য প্রস্তাবিত পাঠ্য মোডকে উপস্থাপন করে।

এখানে বেশ কয়েকবার আমি লোকদের ফাইল পড়তে এবং লেখার জন্য rt এবং wt মোড ব্যবহার করতে দেখেছি।

সম্পাদনা: আপনি কি নিশ্চিত যে আপনি আরটি দেখেছেন এবং আরবি নয়?

এই ফাংশনগুলি সাধারণত ফোপেন ফাংশনটি গুটিয়ে রাখে যা এখানে বর্ণিত হয়েছে:

http://www.cplusplus.com/reference/cstdio/fopen/

আপনি দেখতে পাচ্ছেন এটিতে বাইনারি মোডে ফাইলটি খোলার জন্য বি ব্যবহারের উল্লেখ রয়েছে।

আপনি সরবরাহ করেছেন দস্তাবেজ লিঙ্কটিও এই বি মোডে রেফারেন্স দেয়:

'বি' যুক্ত করা সিস্টেমগুলিতে এমনকি বাইনারি এবং পাঠ্য ফাইলগুলিকে আলাদাভাবে ব্যবহার করে না এমন ক্ষেত্রেও দরকারী, যেখানে এটি ডকুমেন্টেশন হিসাবে কাজ করে।


হ্যাঁ, এটি স্পষ্টতই ছিল rt, যেমন: স্ট্যাকওভারফ্লো / প্রশ্নগুলি 10971033/… , বা স্ট্যাকওভারফ্লো / প্রশ্নগুলি / 17127853/… ইত্যাদি for তথ্যের জন্য আপনাকে ধন্যবাদ জানার জন্য ধন্যবাদ।
alecxe

ডিভনুল যে লিঙ্কটিতে 't' পাঠ্য বিকল্পটি সরবরাহ করে তা তালিকাভুক্ত। সি ++ লিঙ্কটি আমাকে অবাক করে দিয়েছিল যে 'টি' বিকল্পটিও উল্লেখ করেনি কারণ আমি বেশ নিশ্চিত যে আমি কয়েক বছর আগে লিখিত ফপেন কোডে 'আরটি' এবং 'ডব্লিউটি' বিকল্প ব্যবহার করেছি।
jusij

হ্যাঁ, এজন্যই আমি জিজ্ঞাসা করেছি - এটি আমার কাছে নথিভুক্ত বৈশিষ্ট্যের মতো ছিল। আশা করি থ্রেডটি ভবিষ্যতে কাউকে সহায়তা করবে। আবার ধন্যবাদ.
alecxe

3

t ইঙ্গিত করে text mode

https://docs.python.org/release/3.1.5/library/functions.html#open

লিনাক্সে, পাঠ্য মোড এবং বাইনারি মোডের মধ্যে কোনও পার্থক্য নেই, তবে উইন্ডোতে তারা যখন পাঠ্য মোডে রূপান্তরিত \nহয় \r\n

http://www.cygwin.com/cygwin-ug-net/using-textbinary.html


5
পাইথন 3-এ পাঠ্য এবং বাইনারি ফাইল মোডের মধ্যে একটি অতিরিক্ত পার্থক্য রয়েছে (সমস্ত প্ল্যাটফর্মে)। পাঠ্য মোডে, readইউনিকোড স্ট্রিংগুলি প্রদান করে। বাইনারি মোডে, readএকটি bytesউদাহরণ দেয়। আপনি যদি ফরওয়ার্ডের সামঞ্জস্যতার কথা মাথায় রেখে পাইথন 2 কোডটি লিখতে চান তবে আপনি পাইথন 3 আচরণ ( বনাম উদাহরণস্বরূপ) পেতে io.openমানের চেয়ে ব্যবহার করতে পারেন । openunicodestr
ব্ল্যাককিংহিট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.