วิธีระบุว่าไฟล์เป็นไฟล์ปกติหรือไดเร็กทอรีโดยใช้ python


129

คุณตรวจสอบได้อย่างไรว่าไฟล์นั้นเป็นไฟล์ปกติหรือไดเร็กทอรีโดยใช้ python

คำตอบ:



36

ตามที่คำตอบอื่น ๆ ได้กล่าวไว้os.path.isdir()และos.path.isfile()เป็นสิ่งที่คุณต้องการ อย่างไรก็ตามคุณต้องจำไว้ว่านี่ไม่ใช่สองกรณีเท่านั้น ใช้os.path.islink()สำหรับ symlinks เช่น นอกจากนี้สิ่งเหล่านี้จะส่งคืน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

Pathlib พร้อมใช้งานบน Python 2.7 ผ่านโมดูล pathlib2 บน PyPi





-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.