আমার উপরে উল্লিখিত ত্রুটি আছে s1="some very long string............"
কেউ কি জানে যে আমি কী ভুল করছি?
আমার উপরে উল্লিখিত ত্রুটি আছে s1="some very long string............"
কেউ কি জানে যে আমি কী ভুল করছি?
উত্তর:
আপনি "
লাইন শেষ হওয়ার আগে একটি রাখছেন না ।
"""
আপনি এটি করতে চাইলে ব্যবহার করুন :
""" a very long string ......
....that can span multiple lines
"""
আমার এই সমস্যাটি ছিল - আমি শেষ পর্যন্ত কাজ করেছিলাম কারণটির কারণ হ'ল আমি \
স্ট্রিংয়ে চরিত্রগুলি অন্তর্ভুক্ত করেছি । আপনার যদি এগুলির মধ্যে কোনও থাকে তবে এগুলি "পলায়ন" করুন \\
এবং এটি ভাল কাজ করা উচিত।
r
স্ট্রিংগুলির সামনে সমস্যা তৈরি করতে এড়ানোর জন্য আপনি একটি পদক্ষেপ রাখতে পারেন।
(ধরে নিলাম আপনার স্ট্রিংয়ে লাইন ব্রেক নেই / চান না ...)
এই স্ট্রিংটি আসলে কতক্ষণ?
আমি সন্দেহ করি যে কোনও ফাইল থেকে বা কমান্ডলাইন থেকে পড়া লাইন কতক্ষণ পড়তে পারে তার সীমা রয়েছে এবং লাইনটির শেষটি পার্সার কেটে ফেলার সাথে সাথে s1="some very long string..........
(শেষ না করে "
) এমন কিছু দেখায় এবং এভাবে পার্সিং ত্রুটি ছুঁড়ে দেয়?
আপনি আপনার উত্সে লাইনব্রেকগুলি এড়াতে দীর্ঘ লাইনগুলি একাধিক লাইনে বিভক্ত করতে পারেন:
s1="some very long string.....\
...\
...."
আমার পরিস্থিতিতে \r\n
আমার একক-উদ্ধৃত অভিধান স্ট্রিং ছিল। আমি সমস্ত উদাহরণ প্রতিস্থাপিত \r
সঙ্গে \\r
এবং \n
সঙ্গে \\n
এবং এটি আমার সমস্যা সংশোধন করা হয়েছে, সঠিকভাবে eval'ed অভি মধ্যে পলান লাইন ব্রেক ফিরিয়ে আনে।
ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
.....
আমিও একই সমস্যার মুখোমুখি হয়েছি। আমার কাছে একটি স্ট্রিং ছিল যা উইন্ডোজের কোনও ফোল্ডারে পাথ রেখেছিল উদাহরণস্বরূপ C:\Users\
সমস্যাটি \
হ'ল একটি পালানোর চরিত্র এবং তাই স্ট্রিংগুলিতে এটি ব্যবহার করার জন্য আপনাকে আরও একটি যুক্ত করতে হবে \
।
ত্রুটিপূর্ণ: C:\Users\
সঠিক: C:\\\Users\\\
আমারও এই সমস্যাটি ছিল, যদিও এখানে উত্তর থাকলেও আমি /
খালি জায়গাগুলি না থাকার পরে আমি এটির একটি গুরুত্বপূর্ণ বিষয়টি বলতে চাই
it এটি সম্পর্কে সচেতন থাকুন
আমার এই সঠিক ত্রুটি বার্তাটিও ছিল, আমার জন্য একটি "\" যুক্ত করে সমস্যার সমাধান করা হয়েছিল
দেখা যাচ্ছে যে আমার দীর্ঘ স্ট্রিংটি "\" দিয়ে প্রায় শেষের দিকে প্রায় আট লাইনে বিভক্ত ছিল, একটি লাইনে একটি "\" অনুপস্থিত ছিল।
পাইথন আইডিএল কোনও লাইন নম্বর নির্দিষ্ট করে নি যে এই ত্রুটিটি চালু ছিল তবে এটি আমাকে পুরোপুরি ফেলে দিয়ে পুরোপুরি সঠিক ভেরিয়েবল অ্যাসাইনমেন্ট স্টেটমেন্টটিকে লাল-হাইলাইট করেছে। প্রকৃত মিসপ্পেন স্ট্রিং স্টেটমেন্ট ("\" সহ একাধিক লাইন দীর্ঘ) বিবৃতিটি হাইলাইট হওয়ার সাথে সংলগ্ন ছিল। সম্ভবত এটি অন্য কাউকে সহায়তা করবে।
আমার ক্ষেত্রে আমি উইন্ডোজ ব্যবহার করি তাই আমাকে সিঙ্গেলের পরিবর্তে ডাবল কোট ব্যবহার করতে হবে।
C:\Users\Dr. Printer>python -mtimeit -s"a = 0"
100000000 loops, best of 3: 0.011 usec per loop
পোস্টগ্রিস্কল ফাংশনে আমি এই ত্রুটিটি পাচ্ছিলাম। আমার একটি দীর্ঘ এসকিউএল ছিল যা আমি আরও ভাল পাঠযোগ্যতার জন্য একাধিক লাইনে বিভক্ত হয়েছিল। তবে, সমস্যা ছিল। আমি সমস্ত অপসারণ করেছি এবং এগুলি সমাধান করার জন্য তাদের এক লাইনে রেখেছি। আমি তৃতীয় পেগডমিন ব্যবহার করছিলাম।
ম্যাক ওএস এক্স-এর ক্ষেত্রে আমার নিম্নলিখিত বিবৃতি ছিল:
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
আমি ত্রুটি পাচ্ছিলাম:
File "<stdin>", line 1
model.export_srcpkg(platform, toolchain, 'mymodel_pkg.zip', 'mymodel.dylib’)
^
SyntaxError: EOL while scanning string literal
আমি এতে পরিবর্তন করার পরে:
model.export_srcpkg(platform, toolchain, "mymodel_pkg.zip", "mymodel.dylib")
এটা কাজ করেছে...
ডেভিড
আপনার variable(s1)
spans একাধিক লাইন। এটি করার জন্য (যেমন আপনার স্ট্রিংটি একাধিক লাইনের বিস্তৃত হওয়া চাই), আপনাকে ট্রিপল কোট ("" ") ব্যবহার করতে হবে।
s1="""some very long
string............"""
কোনও হার্ড ড্রাইভ ডিরেক্টরি অ্যাক্সেস করার সময় আমি একই সমস্যার মুখোমুখি হয়েছিলাম। তারপরে আমি এটিকে সমাধান করেছি।
import os
os.startfile("D:\folder_name\file_name") #running shortcut
os.startfile("F:") #accessing directory
উপরের চিত্রটি একটি ত্রুটি এবং সমাধান হওয়া আউটপুট দেখায়।