คุณตรวจสอบได้อย่างไรว่าไฟล์นั้นเป็นไฟล์ปกติหรือไดเร็กทอรีโดยใช้ python
คุณตรวจสอบได้อย่างไรว่าไฟล์นั้นเป็นไฟล์ปกติหรือไดเร็กทอรีโดยใช้ python
คำตอบ:
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()เช่นกัน
งูหลาม 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
import os
if os.path.isdir(d):
print "dir"
else:
print "file"
os.path.isdir('string')
os.path.isfile('string')
ลองสิ่งนี้:
import os.path
if os.path.isdir("path/to/your/file"):
print "it's a directory"
else:
print "it's a 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))