कैसे पहचानें कि एक फ़ाइल सामान्य फ़ाइल है या अजगर का उपयोग कर निर्देशिका


129

आप कैसे जांचते हैं कि एक फाइल एक सामान्य फाइल है या एक निर्देशिका जो अजगर का उपयोग कर रही है?

जवाबों:



36

जैसा कि अन्य उत्तरों ने कहा है, os.path.isdir()और os.path.isfile()आप जो चाहते हैं। हालांकि, आपको यह ध्यान रखने की आवश्यकता है कि ये केवल दो मामले नहीं हैं। os.path.islink()उदाहरण के लिए सहजीवन का उपयोग करें । इसके अलावा, Falseयदि फ़ाइल मौजूद नहीं है, तो ये सभी वापस आ जाते हैं, इसलिए आप शायद साथ os.path.exists()ही जाँचना चाहते हैं ।


10

पायथन 3.4 ने मानक पुस्तकालय में मॉड्यूल पेश कियाpathlib , जो फाइलसिस्टम रास्तों को संभालने के लिए एक वस्तु उन्मुख दृष्टिकोण प्रदान करता है। प्रासंगिक तरीकों होगा .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 मॉड्यूल के माध्यम से पायथन 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))
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.