উত্তর:
আপনি সর্বদা ব্যবহার করতে পারেন:
'C:/mydir'
এটি লিনাক্স এবং উইন্ডো উভয় ক্ষেত্রেই কাজ করে। অন্যান্য সার্থকতা হ'ল
'C:\\mydir'
যদি আপনার কিছু নাম নিয়ে সমস্যা হয় তবে আপনি কাঁচা স্ট্রিং লিটারেলও চেষ্টা করে দেখতে পারেন:
r'C:\mydir'
তবে সর্বোত্তম অনুশীলন হ'ল os.path
মডিউল ফাংশনগুলি ব্যবহার করা যা আপনার ওএসের জন্য সর্বদা সঠিক কনফিগারেশন নির্বাচন করে:
os.path.join(mydir, myfile)
পাইথন ৩.৪ থেকে আপনি পাথলিব মডিউলটিও ব্যবহার করতে পারেন । এটি উপরোক্ত বিষয়গুলির সাথে সামঞ্জস্যপূর্ণ:
pathlib.Path(mydir, myfile)
অথবা
pathlib.Path(mydir) / myfile
os.path
মডিউলটি ব্যবহার করুন ।
os.path.join( "C:", "meshes", "as" )
অথবা কাঁচা স্ট্রিং ব্যবহার করুন
r"C:\meshes\as"
আমি পথ বা ফাইলের নামগুলির কোনও স্থান ফাঁকা করার সুপারিশ করব। এবং আপনি আপনার স্ট্রিংগুলিতে ডাবল ব্যাকস্ল্যাশ ব্যবহার করতে পারেন।
"C:\\meshes\\as.jpg"
"C:\"
প্রথম এন্ট্রি হিসাবে সঠিক জিনিসটি করা কি ? এটি ব্যবহারের পরিষ্কার-পরিচ্ছন্নতার কিছুতেই বিশৃঙ্খলা সৃষ্টি করে join
?
"C:\"
ফাইল নামের মাঝখানে রাখতে চান না । এছাড়াও, আপনি os.path.normpath
যোগদানের আগে বা পরে ব্যবহার করতে পারেন , যাতে পথটি সুন্দরভাবে মুদ্রিত হয় তা নিশ্চিত করতে।
os.path.join( "C:\\", "meshes", "as" )
হ্যাঁ, \
পাইথন স্ট্রিংয়ে আক্ষরিক অর্থে পালানো ক্রমের সূচনা করে। আপনার পথে আপনার একটি বৈধ দ্বি-চরিত্রের পালানোর ক্রম রয়েছে \a
, যা একটি অক্ষরে পড়ে যা ASCII বেল :
>>> '\a'
'\x07'
>>> len('\a')
1
>>> 'C:\meshes\as'
'C:\\meshes\x07s'
>>> print('C:\meshes\as')
C:\meshess
অন্যান্য সাধারণ পালানোর ক্রমগুলির মধ্যে রয়েছে \t
(ট্যাব), \n
(লাইন ফিড), \r
(ক্যারেজ রিটার্ন):
>>> list('C:\test')
['C', ':', '\t', 'e', 's', 't']
>>> list('C:\nest')
['C', ':', '\n', 'e', 's', 't']
>>> list('C:\rest')
['C', ':', '\r', 'e', 's', 't']
যেমন আপনি দেখতে পাচ্ছেন, এই সমস্ত উদাহরণে ব্যাকস্ল্যাশ এবং আক্ষরিক পরবর্তী অক্ষরকে একত্রিত করে চূড়ান্ত স্ট্রিংয়ের একটি একক অক্ষর তৈরি করা হয়েছিল। পাইথনের পালানোর ক্রমগুলির সম্পূর্ণ তালিকা এখানে ।
এটি মোকাবেলার বিভিন্ন উপায় রয়েছে:
পাইথন প্রিফিক্স স্ট্রিং লিটারেল মধ্যে পালাবার ক্রম প্রক্রিয়া করব না r
বাR
:
>>> r'C:\meshes\as'
'C:\\meshes\\as'
>>> print(r'C:\meshes\as')
C:\meshes\as
উইন্ডোজের পাইথনকেও ফরোয়ার্ড স্ল্যাশগুলি পরিচালনা করা উচিত।
আপনি ব্যবহার করতে পারেন os.path.join
...
>>> import os
>>> os.path.join('C:', os.sep, 'meshes', 'as')
'C:\\meshes\\as'
... বা আরও নতুন pathlib
মডিউল
>>> from pathlib import Path
>>> Path('C:', '/', 'meshes', 'as')
WindowsPath('C:/meshes/as')
উইন্ডোজে আপনি যতক্ষণ পাওয়ার কমান্ড-লাইন ইন্টারফেস হিসাবে পাওয়ারশেল ব্যবহার করেন ততক্ষণ/
আপনি আপনার পথে লিনাক্স বা ম্যাকোসের মতো সমস্ত জায়গায় ব্যবহার করতে পারেন । এটি উইন্ডোজে প্রাক ইনস্টলড আসে এবং এটি কমান্ডের মতো অনেক লিনাক্স কমান্ড সমর্থন করে ls
।
আপনি যদি উইন্ডোজ কমান্ড প্রম্পট ( cmd
উইন্ডোজ স্টার্ট মেনু টাইপ করার সময় প্রদর্শিত হয় ) ব্যবহার করেন তবে আপনাকে \
কেবল তার ভিতরে পাথ নির্দিষ্ট করতে হবে। আপনি /
অন্য সমস্ত স্থানে পাথ ব্যবহার করতে পারেন (কোড সম্পাদক, পাইথন ইন্টারেক্টিভ মোড ইত্যাদি)।
আপনি যদি অন্য উত্স থেকে উইন্ডোজ পাথ আটকাতে চান (তবে ফাইল এক্সপ্লোরার) - input()
পাইথন কনসোলে কল করার মাধ্যমে আপনি এটি করতে পারেন :
>>> input()
D:\EP\stuff\1111\this_is_a_long_path\you_dont_want\to_type\or_edit_by_hand
'D:\\EP\\stuff\\1111\\this_is_a_long_path\\you_dont_want\\to_type\\or_edit_by_hand'
তারপরে কেবল ফলাফলটি অনুলিপি করুন