检查Python中是否存在文件

在任何应用程序中,检查文件是否存在的能力至关重要。通常,应用程序会执行验证,例如,

  • 在追加/写入文件之前检查文件是否存在。

  • 在读取文件之前,请检查文件是否存在。

python编程语言提供了多种方法来检查文件是否存在。提供功能为'os'的模块,因此在验证文件存在的同时导入os很重要。

os。path.exists()

-bash-4.2$ ls

python_samples  test.txt

-bash-4.2$ python3

Python 3.6.8 (default, Apr 25 2019, 21:02:35)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> from os import path

>>> print(path.exists('test.txt'))

True

>>> print(path.exists('test1.txt'))

False

>>>

os。path.isfile()

-bash-4.2$ ls

python_samples  test.txt

-bash-4.2$ python3

Python 3.6.8 (default, Apr 25 2019, 21:02:35)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import os

>>> print(os.path.isfile('test.txt'))

True

>>> print(os.path.isfile('test1.txt'))

False

上面演示的功能在较低版本的python(<3)中也可用。但是,python 3.4版提供了一个功能pathlibPath.exists()它是从pathlib模块导入的,用于处理文件系统路径。它使用一种面向对象的方法来验证文件是否存在。

-bash-4.2$ ls

python_samples  test.txt

-bash-4.2$ python3

Python 3.6.8 (default, Apr 25 2019, 21:02:35)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import pathlib

>>> test_file = 'test.txt'

#创建一个文件对象

>>> file = pathlib.Path(test_file)>>> if file.exists():

...     print("file {} exists".format(test_file))

... else:

...     print("file {} does not exists".format(test_file))

...

filetest.txtexists

-bash-4.2$ ls

python_samples  test.txt

-bash-4.2$ python3

Python 3.6.8 (default, Apr 25 2019, 21:02:35)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> import pathlib

>>> test_file = 'test1.txt'

>>> file = pathlib.Path(test_file)>>> if file.exists():

...     print("file {} exists".format(test_file))

... else:

...     print("file {} does not exists".format(test_file))

...

file test1.txt does not exists

>>>

简而言之

  • 使用path.exists验证给定文件是否存在。

  • 使用path.isfile来检查路径是否为文件。

  • Python 3.4及更高版本提供了一个pathlib模块来验证文件是否存在。

除了上述方法外,还有另一种直接检查Python的方法来检查文件的存在。使用open()打开文件的方法。

-bash-4.2$ ls

python_samples  test.txt

-bash-4.2$ python3

Python 3.6.8 (default, Apr 25 2019, 21:02:35)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> try:

...     open('text.txt')

... except:

...     print("file does not exists")

...

file does not exists

-bash-4.2$ ls

python_samples  test.txt

-bash-4.2$ python3

Python 3.6.8 (default, Apr 25 2019, 21:02:35)

[GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux

Type "help", "copyright", "credits" or "license" for more information.

>>> file_name = 'test.txt'

>>> try:

...     with open(file_name) as f:

...             print("{} exists".format(file_name))

... except:

...     print("{} does not exists".format(file_name))

...

test.txt exists

>>>

在上面的示例中使用with可以确保在文件操作后关闭文件。

以上是 检查Python中是否存在文件 的全部内容, 来源链接: utcz.com/z/321441.html

回到顶部