'সামগ্রী' এবং 'পাঠ্যের' মধ্যে পার্থক্য কী?


122

আমি ভয়ঙ্কর পাইথন অনুরোধ গ্রন্থাগার ব্যবহার করছি । আমি লক্ষ করেছি যে সূক্ষ্ম ডকুমেন্টেশনে এর কারণ ব্যাখ্যা না করে কীভাবে কিছু করা যায় তার অনেক উদাহরণ রয়েছে । উদাহরণস্বরূপ, উভয় এবং সার্ভারের প্রতিক্রিয়া কীভাবে পাওয়া যায় তার উদাহরণ হিসাবে দেখানো হয় । তবে কোথায় এই বৈশিষ্ট্যগুলি ব্যাখ্যা করা হয়? উদাহরণস্বরূপ, আমি কখন অন্যটির থেকে একটি বেছে নেব? আমি থার মাঝে মাঝে একটি ইউনিকোড বস্তু ফেরত দেখি এবং আমি অনুমান করি যে পাঠ্যবিহীন প্রতিক্রিয়াটির জন্য কোনও পার্থক্য রয়েছে। কিন্তু এই সমস্ত নথি কোথায়? নোট করুন যে লিঙ্কযুক্ত নথিতে উল্লেখ রয়েছে:r.textr.contentr.text

আপনি পাঠ্যবিহীন অনুরোধগুলির জন্য প্রতিক্রিয়া বডিকেও বাইট হিসাবে অ্যাক্সেস করতে পারেন:

তবে তারপরে এটি কোনও পাঠ্য প্রতিক্রিয়ার উদাহরণ দেখায়! আমি কেবল অনুমান করতে পারি যে উপরের উদ্ধৃতিটির non-text responsesপরিবর্তে বলার অর্থ হ'ল non-text requestsএকটি অ-পাঠ্য অনুরোধটি এইচটিটিপি-তে অর্থবোধ করে না।

সংক্ষেপে, পাইথন রিকোয়েস্টস সাইটের (দুর্দান্ত) টিউটোরিয়ালটির বিপরীতে লাইব্রেরির যথাযথ ডকুমেন্টেশন কোথায় ?


উত্তর:


144

ডেভেলপার ইন্টারফেস আরো বিস্তারিত জানার আছে:

r.textইউনিকোডের প্রতিক্রিয়ার r.contentসামগ্রী এবং এটি বাইটের প্রতিক্রিয়াটির বিষয়বস্তু।


46
এবং আপনি কখন একটি বা অন্যটি বেছে নেবেন?
বহুগুণে

13
@ মাল্টিগুডেভার্স: সম্ভবত r.textHTML বা XML ডকুমেন্টের মতো পাঠ্য প্রতিক্রিয়ার জন্য পছন্দ করা r.contentহবে এবং একটি চিত্র বা পিডিএফ ফাইলের মতো "বাইনারি" ফাইল টাইপের জন্য পছন্দ করা হবে।
dotancohen

5
তথ্য @dotancohen HTML এবং XML ব্যবহার ঘোষণা তাদের নিজস্ব পাঠোদ্ধারতা করতে এবং যাতে তারা কাঁচা খাওয়ানো উচিত r.contentনয় coverted r.text
tdelaney

আরও সাধারণভাবে, একটি একক প্রতিক্রিয়ার মধ্যে নেস্টেড বা মাল্টিপার্ট সামগ্রী থাকতে পারে (সংযুক্তিগুলির সাথে ইমেল বার্তাগুলির মতো) এবং প্রতিটি অংশ বিভিন্ন উপায়ে এনকোড করা হতে পারে। বাইট স্ট্রিমে অ্যাক্সেস না করে এ জাতীয় প্রতিক্রিয়াগুলি পরিচালনা করা অসম্ভব তবে এটি সাধারণ ক্ষেত্রে থেকে অনেক দূরে, যেখানে আপনি কেবল সঠিকভাবে ডিকোড করা ইউনিকোড পাঠ্যটি চান।
হোল্ডেনওয়েব

পাইথন ইন্টারপ্রেটার কেন r.textএবং r.contentপাঠ্য উভয়ই দেখায় । কেন r.contentপাঠ্য হিসাবে এবং r.textবিট হিসাবে প্রদর্শিত হবে না (যদি এটি অন্তর্নিহিত তাই হয়)?
অর্ণব

11

ডকুমেন্টেশন থেকে এটি স্পষ্ট বলে মনে হচ্ছে এটি r.content

You can also access the response body as bytes, for non-text requests:

 >>> r.content

আপনি যদি পৃষ্ঠাটি আরও নিচে পড়েন তবে এটি উদাহরণস্বরূপ একটি চিত্র ফাইল addresses


2
ধন্যবাদ. আমি এখন ছোট্ট bপূর্ববর্তী উদাহরণটি "অ-পাঠ্য অনুরোধের জন্য" পাঠ্যের সাথে দেখতে পাচ্ছি , যার অর্থ হ'ল বস্তুটি একটি বাইট অবজেক্ট। বাইটসটি কেন টেক্সট হিসাবে প্রদর্শিত হচ্ছে তা পরিষ্কার নয়, সম্ভবত এটি অন্য একটি পাইথন 'নব্বই', তবে এটি এই প্রসঙ্গে বিভ্রান্তিকর। ধন্যবাদ।
dotancohen

1
পাইথন ২.x এর তুলনায় পাইথন ৩.x এর সাথে এটি আরও গুরুত্বপূর্ণ বলে মনে হচ্ছে; পেজ requestsকনটেন্টে অজগর 3 ব্যবহার করে এই ত্রুটিটি পাওয়া যায়: if 'rss' in page.content:->TypeError: a bytes-like object is required, not 'str'
মার্ক ম্যাক্সমিস্টার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.