পাইথন ব্যবহার করে কোনও ফাইল একটি সাধারণ ফাইল বা ডিরেক্টরি কিনা তা আপনি কীভাবে পরীক্ষা করতে পারেন?
পাইথন ব্যবহার করে কোনও ফাইল একটি সাধারণ ফাইল বা ডিরেক্টরি কিনা তা আপনি কীভাবে পরীক্ষা করতে পারেন?
উত্তর:
os.path.isdir()এবং os.path.isfile()আপনি যা চান তা আপনাকে দেওয়া উচিত। দেখুন:
http://docs.python.org/library/os.path.html
অন্যান্য উত্তর যেমন বলেছে, os.path.isdir()এবং os.path.isfile()আপনি যা চান তা হ'ল। তবে আপনার মনে রাখতে হবে যে এটি কেবলমাত্র দুটি ক্ষেত্রে নয়। os.path.islink()উদাহরণস্বরূপ symlinks জন্য ব্যবহার করুন । তদ্ব্যতীত, এই Falseফাইলটি উপস্থিত না থাকলে এই সমস্ত ফিরে আসে, সুতরাং আপনি সম্ভবত এটিও পরীক্ষা করতে চাইবেন os.path.exists()।
পাইথন ৩.৪ স্ট্যান্ডার্ড লাইব্রেরিতে মডিউলটি প্রবর্তন করেpathlib , যা ফাইল সিস্টেমের পাথগুলি পরিচালনা করতে একটি অবজেক্ট ওরিয়েন্টেড পদ্ধতির সরবরাহ করে। Relavant পদ্ধতি হবে .is_file()এবং .is_dir():
In [1]: from pathlib import Path
In [2]: p = Path('/usr')
In [3]: p.is_file()
Out[3]: False
In [4]: p.is_dir()
Out[4]: True
In [5]: q = p / 'bin' / 'vim'
In [6]: q.is_file()
Out[6]: True
In [7]: q.is_dir()
Out[7]: False
পাইথাইব পাইপাই-তে প্যাথলিব 2 মডিউলের মাধ্যমে পাইথন ২.7 এ উপলব্ধ।
import os
if os.path.isdir(d):
print "dir"
else:
print "file"
আপনি যদি কেবল ডিরেক্টরিগুলির একটি সেট দিয়ে পদক্ষেপ os.chdirনিচ্ছেন তবে ব্যর্থ হলে এটির জন্য একটি ত্রুটি / সতর্কতা দেওয়ার চেষ্টা করা ভাল :
import os,sys
for DirName in sys.argv[1:]:
SaveDir = os.getcwd()
try:
os.chdir(DirName)
print "Changed to "+DirName
# Do some stuff here in the directory
os.chdir(SaveDir)
except:
sys.stderr.write("%s: WARNING: Cannot change to %s\n" % (sys.argv[0],DirName))