পাইথন-এ 3.0,3.1,3.2 এ "ভ্যালুয়েরর: ফর্ম্যাট শূন্য দৈর্ঘ্যের ক্ষেত্রের নাম" ত্রুটি


120

আমি পাইথন শিখার চেষ্টা করছি (আরও নির্দিষ্ট করে তুলতে 3) এবং আমি এই ত্রুটিটি পাচ্ছি:

ValueError: zero length field name in format

আমি এটি গুগল করেছিলাম এবং আমি খুঁজে বের করেছি যে আপনার সংখ্যাগুলি নির্দিষ্ট করতে হবে:

a, b = 0, 1
if a < b:
     print('a ({0}) is less than b ({1})'.format(a, b))
else:
     print('a ({0}) is not less than b ({1})'.format(a, b))

এবং টিউটোরিয়ালটির মতো নয় (লিন্ডা ডটকম থেকে) আসলে যা করতে বলেছে:

a, b = 0, 1
if a < b:
     print('a ({}) is less than b ({})'.format(a, b))
else:
     print('a ({}) is not less than b ({})'.format(a, b))

টিউটোরিয়ালটি অনুসরণ করার পরে পাইথন ৩.১ রয়েছে এবং আমি ৩.২ ব্যবহার করছি এবং আমি এই ত্রুটিটি সম্পর্কে যা পড়েছি তা হ'ল এটি কেবল <3.1 (3.0) এ ঘটে। তারা কি এটিকে 3.2-এ পূর্বাবস্থায় ফেলেছে, বা আমি কিছু ভুল করছি?

এছাড়াও, আস্তে আস্তে কথা বলুন;) এটি আরাধ্যে আমার প্রথম রাত পাইথন শেখা এবং পাইথনটিতে আমি কেবল ২ য় "স্ক্রিপ্ট" লিখেছি।


1
এটি যুক্ত করার চেষ্টা করুন: ইম্পোর্ট sys; মুদ্রণ (sys.version), আপনি যে অজস্রভাবে পাইথনের অন্য কোনও সংস্করণ কল করছেন না তা নিশ্চিত করার জন্য
উইনস্টন ইওয়ার্ট

উত্তর:


131

আমি অনুমান করতে পারি যে আপনি কোনওভাবে দুর্ঘটনার ফলে অজগর ২. 2. চালাচ্ছেন।

আপনি পাইথন 3 ব্যবহার করছেন তবে অজগর 2 ব্যবহার করা হয় তবে এই বৈশিষ্ট্যটি কেবল কমপক্ষে 3.1 এর জন্য উপলব্ধ।


3
ধন্যবাদ! ঐটা এটা ছিল! আমার শেবাংগুলিতে এই পরিবর্তন করতে হয়েছিল: #! /usr/local/bin/python3সমস্ত কিছু দেখার পরে। ম্যাক -_- ডাব্লুটিএফ-তে পাইথন ইনস্টলের 3 টি পৃথক অবস্থান রয়েছে।
অস্কার গডসন

4
এটি আংশিকভাবে সঠিক: ওপির কোডটি অজগর ২.7 থাকলেও ২.6 না হলে কাজ করবে। (@ ডেনিস উইলিয়ামসনের উত্তর দেখুন)
mayhewsw

উইন্ডোজটিতে পাইথন ৩.০.১ নিয়ে আমি এই সমস্যাটি পাচ্ছি। (এটি অবশ্যই পাইথন সেমিডলাইন শুরু করার পরে প্রথম লাইনে 3.0.1 বলে)
২ger

@ জিঞ্জার, এটি ব্যবহার করার জন্য আপনার পাইথন ৩.১ প্রয়োজন।
উইনস্টন ইওয়ার্ট

হুঁ, দ্রুত উত্তরের জন্য ধন্যবাদ..তবুও, নীচের উত্তরগুলি "2.7 এবং তার পরে" বলে - তাই 3.0.1 আগে ছিল? এছাড়াও, ওপি 3.0 (+ অন্যান্য) - এ সমস্যা সম্পর্কে জিজ্ঞাসা করেছিল - যার উত্তর আপনার "আপনি 2.6 চালাচ্ছেন", যা 3.0 বলে মনে করে যে এটি ঠিক আছে। উত্তরটি আপডেট করতে পারলে ভালো লাগবে। ধন্যবাদ
inger

148

পাইথন 2.6 এবং 3.0 এর ক্ষেত্রে ক্ষেত্রের সংখ্যাগুলি প্রয়োজন require পাইথন ২.7 এবং তারপরে এবং ৩.১ এবং তারপরে, এগুলি বাদ দেওয়া যেতে পারে।

সংস্করণ ২.7 এ পরিবর্তিত হয়েছে: অবস্থানগত আর্গুমেন্ট স্পেসিফায়ারগুলি বাদ দেওয়া যেতে পারে, তাই '{} {}' '{0} {1}' এর সমতুল্য।

python2.6.4>>> print '|{0:^12}|{1:^12}|'.format(3,4)
|     3      |     4     |

2
সংস্করণ পার্থক্য আজ আমাকে জ্যাক! পয়েন্টারের জন্য ধন্যবাদ।
রিচার্ড ক্লেটন

@ ডেনিস: আমি আপনার উত্তরের পক্ষে ভোট দিয়েছি কারণ আপনি ক্ষেত্রের নম্বর উল্লেখ করে পাইথনের পূর্ববর্তী সংস্করণগুলিতে কীভাবে সমস্যাটি সমাধান করবেন তা দেখিয়েছিলেন। তবে, "পাইথন ২.7 এবং তার পরে" বলা আমার কাছে বিভ্রান্তিকর বলে মনে হচ্ছে কারণ এখানে অন্যান্য উত্তর অনুসারে পাইথন 3.0.০ এ ফিল্ড নম্বরগুলি আবশ্যক। উইনস্টন তার উত্তরের সর্বশেষ মন্তব্যে উল্লেখ করেছেন যে ২.7 3.0 এর পরে প্রকাশিত হয়েছে, সুতরাং আপনার বক্তব্য কালানুক্রমিকভাবে সঠিক হতে পারে তবে আমাদের বেশিরভাগই এটি পড়তে হবে যে ইঙ্গিত করে যে খালি ধনুর্বন্ধনীগুলি 3.0 এ কাজ করা উচিত।
টম ব্যারন

@ টমবারন: খালি ধনুর্বন্ধনী আমার জন্য কাজ করে: python3.4 -c 'print("|{}|{}|".format(3,4))'তবে স্পষ্টতই 3.0 এর মধ্যে এটি নেই (3.1 এবং পরে রয়েছে) does আমি আমার উত্তর পরিষ্কার করব।
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

2

আপনি যদি Eclipse ব্যবহার করছেন তবে আপনার উইন্ডো -> পছন্দসমূহ -> পাইডেভ -> দোভাষী - পাইথনের দিকে নজর দেওয়া উচিত। সেখানে আপনার দোভাষীদের একটি তালিকা রয়েছে (নাম এবং অবস্থান সহ)। যদি আপনার বর্তমান প্রকল্পের জন্য আপনি দোভাষী ব্যবহার করছেন যা উদাহরণস্বরূপ / usr / bin / python এ অবস্থিত থাকে তবে সম্ভবত / usr / bin / python -V নির্বাহ করা যদি আপনাকে "পাইথন ২.6..6" এর মতো কিছু দেয়। এবং উইনস্টন ইওয়ার্টের মতো আপনার উত্তরও রয়েছে।

(আপনি কেবল "নতুন ..." বোতামটি ক্লিক করে এবং "usr / bin / python3" "অবস্থান" হিসাবে দিয়ে নতুন ইন্টারপারটার যুক্ত করতে পারেন Then তারপরে আপনাকে সম্ভবত আপনার প্রকল্পের সেটিংস পরিবর্তন করতে হবে (পছন্দসমূহ -> পাইডেভ - ইন্টারপ্রেটার / ব্যাকরণ))।

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