python 看是否存在文件夹 Python 判断文件目录是否存在

Python029

python 看是否存在文件夹 Python 判断文件目录是否存在,第1张

1、Python 操作文件时,我们一般要先判断指定的文件或目录是否存在,不然容易产生异常。

2、例如我们可以使用 os 模块的 os.path.exists() 方法来检测文件是否存在:

import os.path

os.path.isfile(fname)

3、如果你要确定他是文件还是目录,从 Python 3.4 开始可以使用 pathlib 模块提供的面向对象的方法 (Python 2.7 为 pathlib2 模块):

from pathlib import Path

my_file = Path(/path/to/file)

if my_file.is_file():

# 指定的文件存在

检测是否为一个目录:

if my_file.is_dir():

# 指定的目录存在

4、如果要检测路径是一个文件或目录可以使用 exists() 方法:

if my_file.exists():

# 指定的文件或目录存在

在 try 语句块中你可以使用 resolve() 方法来判断:

try:

my_abs_path = my_file.resolve()

except FileNotFoundError:

# 不存在

else:

# 存在

方法一:使用try: ... except NameError: ...。

方法二:内置函数。

     res1  =  'test'  in  locals ().keys()

     res2  =  'test'  in  dir ()

     res3  =  'test'  in  vars ().keys()

     print (res1,res2,res3)   # 变量test暂时还没有定义,返回False

     test  =  ""   # 定义变量test

     res4  =  'test'  in  locals ().keys()

     res5  =  'test'  in  dir ()

     res6  =  'test'  in  vars ().keys()

     print (res4,res5,res6)   # 变量test已经被定义了,返回True

判断是程序编写的一个基本的操作,也是增强程序稳定性的重要方式。在ArcPy处理数据时,要保证数据存在才能做后续的操作,为源GIS提示使用arcpy自带的Exists函数可判断要素类、表、数据集、shapefile、工作空间、图层和文件等是否存在。

使用方法

如果是文件路径,可以使用Python中的os.path.exists来判断,但如果文件地理数据库中数据集、要素类等则需要使用ArcPy提供的Exists函数(非工具函数)。

使用方法:

支持检查的格式包括要素类、表、数据集、shapefile、工作空间、图层和文件;

返回Bool类型表示是否存在;

Exists 支持地理处理工作空间环境,允许只输出数据的基本名称;

如果是企业地理数据库中,则必须对名称进行完全限定。

语法参数

Exists (dataset)

参数 说明 数据类型

dataset 要检查其是否存在的数据集的路径。 String

返回值

数据类型 说明

Boolean 如果指定元素存在,则返回布尔值 True。

代码示例

import arcpy

# 设置工作空间

arcpy.env.workspace = "C:/TemplateData/TemplateData.gdb"

fc = "city"

# 如果存在则进行相关操作

if arcpy.Exists(fc):

arcpy.Clip_analysis(fc, "Continents", "Continents_clip)

分类: 脚本开发