Python:查找文件是否存在或者不使用isfile()函数

时间:2020-01-09 10:43:06  来源:igfitidea点击:

如何使用Python程序检查是否存在名为/etc/resolv.conf的文件?

您需要导入os模块并使用os.path.isfile(file-path-here)。

如果file-path-here是现有的常规文件,则此函数返回True。
这遵循符号链接,因此对于同一路径,islink()和isfile()都可以为true。
可以使用posixpath表示UNIX样式的路径(/path/to/file),使用ntpath表示Windows路径,使用macpath表示老式的MacOS路径,并使用os2emxpath表示OS/2 EMX路径。

语法

语法为:

>>> import os
>>> os.path.isfile('/tmp/foobar')
False
 
>>> os.path.isfile('/tmp/foobar')
True

例子

以下程序检查文件是否存在:

#!/usr/bin/python
import os
_php="/usr/bin/php-cgi"
 
# make sure php-cgi file exists, else show an error
if ( not os.path.isfile(_php)):
    print("Error: %s file not found" % _php)
else:
    print("Setting php jail using %s ..." % _php)

输出示例:

Setting php jail using /usr/bin/php-cgi ...

另一个选择是使用try:语句检查文件是否存在:

#!/usr/bin/python
# This is a secure method to see if a file exists and it avoids race condition too
import os
datafile="/etc/resolv.conf"
try:
   with open(datafile) as f: print("Testing your dns servers, please wait...")
except IOError as e:
   print("Error: %s not found." % datafile)