在读写文件之前,需要判断文件或目录是否存在,不然某些处理方法可能会使程序出错,所以最好在做任何操作之前,先判断文件是否存在,没有则创建。本文以实例代码讲解下Python判断文件和文件夹是否存在的方法。
一、python判断文件和文件夹是否存在、创建文件夹
1
2
3
4
5
6
7
8
9
10
11
12
|
>>> import os >>> os.path.exists( 'd:/assist' ) True >>> os.path.exists( 'd:/assist/getTeacherList.py' ) True >>> os.path.isfile( 'd:/assist' ) False >>> os.path.isfile( 'd:/assist/getTeacherList.py' ) True >>> os.makedirs( 'd:/assist/set' ) >>> os.path.exists( 'd:/assist/set' ) True |
1
2
3
4
5
6
7
|
import os filename = r '/home/tim/workspace/test.txt' if os.path.exists(filename): message = 'OK, the "%s" file exists.' else : message = "Sorry, I cannot find the " % s " file." print message % filename |
三、如何用Python判断文件是否存在
使用os.path.exists()方法可以直接判断文件是否存在。
代码如下:
1
2
3
4
|
>>> import os >>> os.path.exists(r 'C:\1.TXT' ) False >>> |
如果存在返回值为True,如果不存在则返回False
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
$ python Python 2.7 . 3 (default, Jan 2 2013 , 16 : 53 : 07 ) [GCC 4.7 . 2 ] on linux2 Type "help" , "copyright" , "credits" or "license" for more information. >>> import os >>> >>> >>> tobecheckdir = r '/home/tim/workspace' >>> os.path.isdir(tobecheckdir) True >>> |
五、python检查文件是否存在,以及路径是否为文件
在写文件之前通常需要检查文件路径是否可写:
1
2
3
4
5
6
|
from os import path, access, R_OK # W_OK for write permission. PATH = './file.txt' if path.exists(PATH) and path.isfile(PATH) and access(PATH, R_OK): print "File exists and is readable" else : print "Either file is missing or is not readable" |
也可以通过下面的方式实现:
1
2
3
4
5
6
|
def file_exists(filename): try : with open (filename) as f: return True except IOError: return False |
六、python判断文件和文件夹是否存在
1
2
3
|
import os os.path.isfile( 'test.txt' ) #如果不存在就返回False os.path.exists(directory) #如果目录不存在就返回False |
七、os.path.lexist
还有os.path.lexists(path)
对broken的link file也返回True.
八、python FTP判断文件夹是否存在
python怎样判断文件夹是否存在?广大网友给出了答案:
使用ftp库就可以了,下面是Python核心编程上的例子:
1
2
3
4
5
|
>>> from ftplib import FTP >>> f = FTP( 'ftp.python.org' ) >>> f.login( 'anonymous' , 'guido@python.org' ) '230 Guest login ok, access restrictions apply.' >>> f. dir () |
dir结果中无此文件,就是不存在。
或者如下:
try:
1
2
3
|
f.retrbinary( 'RETR %s' % FILE , open ( FILE , 'wb' ).write) except ftplib.error_perm: print 'ERROR: cannot read file "%s"' % FILE 40 os.unlink( FILE ) |
不能读此文件,也视为不存在。
未经允许不得转载:国外服务器评测 » python如何检查文件是否存在(实例代码讲解)