python判断路径是否存在
‘壹’ python如何判断一个目录下是否存在某个文件
1.使用os模块
用os模块中os.path.exists()方法检测是否存在test_file.txt文件
importos
os.path.exists(test_file.txt)
#True
os.path.exists(no_exist_file.txt)
#False
2.使用Try命令
使用open()方法,如果要打开的文件不存在,就回跑出异常,用try()方法捕获异常。
try:
f=open(test_file.txt)
f.close()
exceptIOError:
print"fileisnotaccessible"
3. 使用pathlib
检查路径是否存在
path=pathlib.Path("path/file")
path.exist()
检查路径是否是文件
path=pathlib.Path("path/file")
path.is_file()
‘贰’ python如何判断一个目录下是否存在某个文件谢啦!
使用os.path.exists()方法可以直接判断文件是否存在。
代码如下:
>>> import os
>>> os.path.exists(r'C:\1.TXT')
False
>>>
如果存在返回值为True如果不存在则返回False。很方便
希望对你有所帮助~~
‘叁’ python--目录操作
一、os.getcwd()
获取当前工作目录,即当前Python脚本工作的目录路径。
二、os. chdir(path)
改变当前脚本工作目录;相当于shell下的cd命令。
三、os.pardir
返回当前目录的父目录('..')
四、获取当前使用的操作系统类型(其中 ‘nt’ 是 windows,’posix’ 是linux 或者 unix)。
五、os.mkdir(path [, mode=0777])
生成单级目录;相当于linux中的mkdir dirname。参数mode表示生成的目录的权限,默认是超级权限,也就是0777。如果重复创建,会报错
六、os.makedirs(path [, mode=0777])
可生成多层递归目录,父目录如果不存在,递归生成。参数mode表示生成的目录的权限,默认是超级权限,也就是0777。
七、os.removedirs(path)
若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依次类推。
八、os.rmdir(path)
删除单级空目录,若目录不为空则无法删除,会报错;相当Linux中的rmdir dirname。
九、os.listdir(path)
列出指定目录下的所有文件和子目录,包括隐藏文件或目录,并以列表形式返回。
十、os.remove(filePath)
删除一个指定的文件,参数filePath表示文件所在的路径。
注意:该方法只能删除文件,不能删除目录。
十一、os.rename(oldname, newname)
重命名文件/目录。
十二、os.access(path, mode)
输出文件权限模式。
十三、os.chmod(path, mode)
修改文件的权限。
十四、os.walk(top, topdown=True, onerror=None, followlinks=False)
➢top:表示需要遍历的目录树的路径。
➢topdown的默认值是“True”,表示首先返回目录树下的文件,然后遍历目录树下的子目录。值设为False时,则表示先遍历目录树下的子目录,返回子目录下的文件,最后返回根目录下的文件。
➢onerror的默认值是“None”,表示忽略文件遍历时产生的错误。如果不为空,则提供一个自定义函数提示错误信息后继续遍历或抛出异常中止遍历。
➢该函数返回一个列表,列表中的每一个元素都是一个元组,该元组有3个元素,分别表示每次遍历的路径名,目录列表和文件列表。
➢默认情况下,os.walk 不会遍历软链接指向的子目录,若有需要请将followlinks设定为true
十五、os.path.split(path)
将path分割成目录和文件名(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在),并存于元组中返回。
十六、os.path.exists(path)
判断path是否存在,如果存在返回True,否则返回False。
十七、os.path.isfile(path)
判断path是否是文件,如果是返回True,否则返回False。
十八、os.path.isdir(path)
判断path是否是目录,如果是目录返回True,否则返回False。
十九、os.path.getsize(name)
获得文件大小,如果name是目录返回结果是0L或者4096L;如果name代表的目录或文件不存在,则会报WindowsError异常。
二十、os.path.join(a, *p)
连接两个或更多的路径名,中间以“\”分隔,如果所给的参数中都是绝对路径名,那先给的绝对路径将会被丢弃。
二十一、os.path.getatime(filename)
返回文件的最后访问时间,返回的是时间戳。
二十二、os.path.getctime(filename)
以时间戳的形式返回文件或目录的创建时间,在Unix系统上是文件最近更改的时间,在Windows上是文件或目录的创建时间。
1.基础题:
检验给出的路径是否是一个文件:os.path.isfile("D:\\test.txt")
检验给出的路径是否是一个目录:os.path.isdir("D:\\test.txt")
判断是否是绝对路径:os.path.isabs("D:\\test.txt")
检验给出的路径是否真地存在:
2.返回一个路径的目录名和文件名 :os.listdir("D:\\")
3.分离文件名与扩展名 :os.path.splitext("D:\\test.txt")
4.找出某个目录下所有的文件,并在每个文件中写入“gloryroad” :
>>> for files in os.walk("D:\\test"):
... print(files)
...
('D:\\test', [], ['a.txt', 'b.txt', 'test.txt', 'test1.txt'])
>>> with open("D:\\test\\a.txt","w+") as f:
... f.write("gloryroad")
5.如果某个目录下文件名包含txt后缀名,则把文件后面追加写一行“被我找到了!”
6. 命题练习:
1) 一个目录下只有文件(自己构造),拷贝几个文件(手工完成)
2 )用listdir函数获取所有文件,如果文件的创建时间是今天,那么就在文件里面写上文件的路径、文件名和文件扩展名
3) 如果不是今天创建(获取文件的创建时间,并转化为时间格式,判断是否今天),请删除
4 )计算一下这个程序的执行耗时
7.删除某个目录下的全部文件
8.统计某个目录下文件数和目录个数
9.使用程序建立一个多级的目录,在每个目录下,新建一个和目录名字一样的txt文件
10. 查找某个目录下是否存在某个文件名
11. 用系统命令拷贝文件
12.输入源文件所在路径和目标目录路径,然后实现文件拷贝功能
13.遍历某个目录下的所有图片,并在图片名称后面增加
14、遍历指定目录下的所有文件,找出其中占用空间最大的前3个文件
15、过滤py源码中的#注释,另存为文件result.py,并执行result.py,断言是否执行成功
16、文件访问,提示输入数字 N 和文件 F, 然后显示文件 F 的前 N 行.
17、从命令行接受1个路径如:c:\a\b\c\1.py, 实现1个函数创建目录a\b\c,创建文件1.py,实现1个函数删除已创建的目录及文件
18、有一个ip.txt,里面每行是一个ip,实现一个函数,ping 每个ip的结果,把结果记录存到ping.txt中,格式为ip:0或ip:1 ,0代表ping成功,1代表ping失败
19、实现DOS命令执行功能,接受输入命令并执行,然后把执行结果和返回码打印到屏幕
20、文件访问
访问一存在多行的文件,实现每隔一秒逐行显示文本内容的程序,每次显示文本文件的 5行, 暂停并向用户提示“输入任意字符继续”,按回车键后继续执行,直到文件末尾。
显示文件的格式为:[当前时间] 一行内容,比如:[2016-07-08 22:21:51] 999370this is test
‘肆’ python接受用户从键盘输入的一个文件名,然后判断该文件是否存在于当前目录
import os
#file_name =input()
file_name = '/var/mobile/Containers/Data/Application/EA5CB557-C49B-44CF-B4D5-013A1F9C2462/Documents/KeepData/files/test3.txt'
print(os.path.exists(file_name))
‘伍’ python 判断某个文件/文件夹是否存在
使用os.path.exists()可以判断文件或者文件夹是否存在,方法很简单,括号中放入需要判断的路径即可,如下
但这种时候容易混淆文件夹和文件,所以可以采用如下命令只检查文件,同样返回布尔型变量
如果文件不存在,直接用open()函数会抛出异常,这时候只要try一下并获取异常即可,如下
上面包含了文件不存在和文件不可读取两种错误类型,这两种都属于IO error,简化一下有,
主要是通过文件历早姿的路径来创建path对象,进而判断路径是否存在,如下
(想到这些简单肢绝的知识睁行都似曾相识,为什么要零散地记录呢
参考资料: https://www.py.cn/faq/python/12821.html
‘陆’ 如何用Python实现查找"/"目录下的文件夹或文件,感谢
给你各相对来说容易理解的哈
import os
name=raw_input('filename:') #在这里输入你的查找值
a=os.listdir('/') #把所有/目录下的文件,目录存放入a
if name in a: #如果查找值在/目录下,进行进一步判断
if os.path.isdir(name): #判断是否为目录
print 'dir'
elif os.path.isfile(name) and os.pathislink(name): #符号连接即是文件又是link所以双重判断
print 'link'
elif os.path.isfile(name): #判断是否文件
print 'file'
else: #linux上文件类型多,不符合上面三种打印0ther
print 'other'
else: #不存在打印‘not exist’
print 'not exist'
‘柒’ Python使用判断,检查是都存在1.TXT文件,如果不存在,返回文字不存在!怎么写这段代码
检查文件是否存在的方法,在Python3文件操作中经常被用到,因为,只有文件存在,我们才可以对文件进行下一步处理,那么,常用的检查文件存在的方法有哪些呢?以下是Python3检查文件是否存在的几种方法。
一、 使用os库
os库方法可检查文件是否存在,存在返回Ture,不存在返回False,且不需要打开文件。
1. os.path.isfile文件检查
import os.path
filename='/oldboye.com/file.txt'
os.path.isfile(filename)
2. os.path.exists文件夹检查
import os
a_path='/oldboye.com/'
if os.path.exists(a_path):
#do something
3. os.access文件权限检查
import os
filename='/oldboye.com/file.txt'
if os.path.isfile(filename) and os.access(filename, os.R_OK):
#do something
二、使用pathlib库
使用pathlib库也是一种检查文件是否存在的方法,且从Python3.4开始,Python已经把pathlib加入了标准库,无需安装,即可直接使用!
1. 检查文件是否存在
from pathlib import Path
my_file = Path("/oldboye.com/file.txt")
if my_file.is_file():
# file exists
2. 检查文件夹是否存在
from pathlib import Path
my_file = Path("/oldboye.com/file.txt")
if my_file.is_dir():
# directory exists
3. 文件或文件夹是否存在
from pathlib import Path
my_file = Path("/oldboye.com/file.txt")
if my_file.exists():
# path exists
以上列举Python3中检查文件和文件夹的两种常用的方法,适用于Python3相关版本,其他版本略有不同,可以根据实际情况进行设置!
‘捌’ python 当文件目录不存在时,如何自动创建
Python对文件的操作算是方便的,只 需要调用os模块,使用相关函数即可实现目录的创建。主要涉及三个函数:
1、os.path.exists(path)判断一个目录是否存在
2、os.makedirs(path)多层创建目录
3、os.mkdir(path)创建目录
defmkdir(path):
#引入模块
importos
#去除首位空格
path=path.strip()
#去除尾部符号
path=path.rstrip("\")
#判断路径是否存在
#存在True
#不存在False
isExists=os.path.exists(path)
#判断结果
ifnotisExists:
#如果不存在则创建目录
#创建目录操作函数
os.makedirs(path)
print(path+'创建成功')
returnTrue
else:
#如果目录存在则不创建,并提示目录已存在
print(path+'目录已存在')
returnFalse
#定义要创建的目录
mkpath="d:\qttc\web\"
#调用函数
mkdir(mkpath)
注意:os.mkdir(path)函数和多层创建目录函数os.makedirs(path)的区别。主要是当父目录不存在的时候os.mkdir(path)不会创建,而os.makedirs(path)会创建父目录。
‘玖’ python如何判断指定目录下的文件是图片还是TXT文档
importos
dir=r'c:\'
forfinos.listdir(dir):
ifnotos.path.isfile(f):
continue
iff.endwith('.txt'):
print'txt'
else:
print'pic'