检查文件是否存在
3.879次浏览(过去30天)
显示旧的注释
接受的答案
1月
2012年9月29日
编辑:MathWorks支金宝app援小组
2018年11月9日
从R2017b开始,您可以使用“isfile”函数来检查文件是否存在。例如:
如果isfile(文件名)
%文件存在。
其他的
%文件不存在。
结束
“isfile”函数只搜索指定路径或当前文件夹中的文件。
对于R2017a和以前的版本,使用“exist”函数。例如:
如果存在(文件名,“文件”== 2
%文件存在。
其他的
%文件不存在。
结束
确保为文件名指定了绝对路径。“exist”函数搜索搜索路径上的所有文件和文件夹,如果存在多个同名文件,可能会导致意想不到的结果。
5个评论
sesilia maidelin
2021年7月22日
你好,谢谢你的回复
@Jan
,在我的情况下,我只是想知道一个文件夹中特定文件类型的存在,然后将文件夹移动到另一个名为complete的parentfolder。所以如果文件夹AAA包含。txt和。jpg,我想移动AAA到文件夹完整,包含文件夹AAZ, BBA等,也包含。txt和。jpg文件。我附上了源文件的图片。我想移动文件像00000715到文件夹完成。谢谢你!
更多答案(6)
Azzi Abdelmalek
2012年9月29日
编辑:Azzi Abdelmalek
2012年9月29日
一个= dir% or a=dir('folder')
b = struct2cell (a)
任何(ismember (b (1:)“filename.txt”))
2的评论
1月
2019年5月6日
编辑:1月
2019年5月6日
但如果当前目录包含大量的文件,则是浪费时间。如果当前文件夹位于网络驱动器中,则速度会大幅下降。这样更有效:
isfile (fullfile (cd,“filename.txt”))
如果未知,文件是否包含路径,则使用
//www.tatmou.com/matlabcentral/fileexchange/28249-getfullpath
西蒙
2016年11月2日
编辑:西蒙
2016年11月2日
更现代/更简洁的方法:
断言(存在(文件名,'file == 2, '未找到文件。”);
Assert是一件很棒的事情,它使错误捕获代码变得简单
很多
比许多if块更紧凑!它的运作方式是,
断言(条件,错误);
其中condition是返回逻辑真或假的东西,error是如果它是假的结果的消息。
2的评论
图像分析
2016年11月17日
虽然一个更友好、信息更丰富的错误消息(就像我的回答)将是一个改进。
但你并不完全正确。就像你说的“exist(filename,'file') == 2将在文件确实存在的时候出现”和exist(filename,'file') == 2将在文件不存在的时候为FALSE。因为assert只在文件不存在时(条件为false)才吐出错误消息,所以它是正确的,就像Simon最初所拥有的那样,而不是您的“更正”。
记住,总的来说,如果文件
做
存在,条件是
真正的
,“文件未找到。”的消息是
不
打印到命令窗口。如果文件有
不
存在,条件是
假
,因此“文件未找到”。”的信息
是
打印到命令窗口。
多尼瓦斯克
2022年5月2日
如果你正在使用带有pathlib的Python 3,你可以使用Path.stat()方法访问os.stat()信息,该方法具有st_size(以字节为单位的文件大小)属性,可以用来检查是否
Python文件存在
并不是空的,
>>>导入操作系统
> > > os.stat (“文件”).St_size == 0
真正的
但是,如果文件不存在,stat()方法将抛出异常。下面的函数将返回True/False而不抛出(更简单但不那么健壮):
进口操作系统
defis_non_zero_file (fpath):
返回os.path.isfile (fpath)和Os.path.getsize (fpath