পাইথন ব্যবহার করে কোনও ফাইল সাধারণ ফাইল বা ডিরেক্টরি কিনা তা কীভাবে চিহ্নিত করবেন


129

পাইথন ব্যবহার করে কোনও ফাইল একটি সাধারণ ফাইল বা ডিরেক্টরি কিনা তা আপনি কীভাবে পরীক্ষা করতে পারেন?

উত্তর:



36

অন্যান্য উত্তর যেমন বলেছে, os.path.isdir()এবং os.path.isfile()আপনি যা চান তা হ'ল। তবে আপনার মনে রাখতে হবে যে এটি কেবলমাত্র দুটি ক্ষেত্রে নয়। os.path.islink()উদাহরণস্বরূপ symlinks জন্য ব্যবহার করুন । তদ্ব্যতীত, এই Falseফাইলটি উপস্থিত না থাকলে এই সমস্ত ফিরে আসে, সুতরাং আপনি সম্ভবত এটিও পরীক্ষা করতে চাইবেন os.path.exists()


10

পাইথন ৩.৪ স্ট্যান্ডার্ড লাইব্রেরিতে মডিউলটি প্রবর্তন করে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 এ উপলব্ধ।




2

এটা চেষ্টা কর:

import os.path
if os.path.isdir("path/to/your/file"):
    print "it's a directory"
else:
    print "it's a file"

-1

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