检查文件是否存在

3,701次观看(过去30天)
萨尔瓦多Mazzarino
萨尔瓦多Mazzarino 2012年9月29日
回答: 多尼瓦斯克2022年5月2日
我正在使用“importdata”函数从文本文件导入数据。我想有一个方法来检查文本文件是否存在,然后试图从文件导入数据。如果该文件不存在,那么将显示自定义错误消息。我应该用什么函数呢?

接受的答案

1月
1月 2012年9月29日
编辑:MathWorks支持团队 2018年11月9日
从R2017b开始,你可以使用“isfile”函数来检查文件是否存在。例如:
如果isfile(文件名)
%文件存在。
其他的
%文件不存在。
结束
“isfile”函数只搜索指定路径或当前文件夹中的文件。
对于R2017a和以前的版本,使用"exist"函数。例如:
如果存在(文件名,“文件”) = = 2
%文件存在。
其他的
%文件不存在。
结束
一定要为文件名指定一个绝对路径。“exist”函数会搜索搜索路径上的所有文件和文件夹,如果存在多个同名文件,则可能会导致意外的结果。
5个评论
sesilia maidelin
sesilia maidelin 2021年7月22日
你好,谢谢你的回复 @Jan ,在我的情况下,我只是想知道一个文件夹中特定文件类型的存在,然后将文件夹移动到另一个名为complete的parentfolder。因此,如果文件夹AAA包含。txt和。jpg,我想移动AAA到文件夹完整,其中包含文件夹AAZ, BBA等,也包含。txt和。jpg文件。我附上了源文件的图片。我想移动文件像00000715到文件夹完成。谢谢你!

登录发表评论。

更多的答案(6)

图像分析
图像分析 2012年9月29日
如果存在(fullFileName“文件”
%文件存在。做的东西…
其他的
%文件不存在。
warningMessage = sprintf ('警告:文件不存在:\n%s', fullFileName);
uiwait(对话框(warningMessage));
结束
3评论
图像分析
图像分析 2016年3月4日
它检查是否存在具有该文件名的文件。它没有检查 什么 内容是,即使有内容。可以有一个零字节的文件。您可以使用fileInfo = dir(filename)来检查大小。

登录发表评论。


Azzi Abdelmalek
Azzi Abdelmalek 2012年9月29日
编辑:Azzi Abdelmalek 2012年9月29日
一个= dir%或= dir(文件夹)
b = struct2cell (a)
任何(ismember (b (1:)“filename.txt”))
2的评论
1月
1月 2019年5月6日
编辑:1月 2019年5月6日
但如果当前目录包含大量的文件,则是浪费时间。如果当前文件夹位于网络驱动器中,则速度会大幅下降。这样更有效率:
isfile (fullfile (cd,“filename.txt”))
如果它是未知的,文件是否包含路径,则使用 //www.ru-cchi.com/matlabcentral/fileexchange/28249-getfullpath

登录发表评论。


何塞•路易斯•
何塞•路易斯• 2012年9月29日
编辑:何塞•路易斯• 2012年9月29日
医生存在

西蒙
西蒙 2016年11月2日
编辑:西蒙 2016年11月2日
更现代/更简洁的方法:
断言(存在(文件名,'file) == 2, '文件未找到。”);
断言是一个很好的东西,它使错误捕获代码成为 很多 比许多if块更紧凑!它的运作方式是,
断言(条件,错误);
其中condition是返回逻辑true或false的东西,error是如果为false则产生的消息。
2的评论
图像分析
图像分析 2016年11月17日
尽管一个更友好更有信息的错误消息(像我的回答)将是一个改进。
但你并不完全正确。就像你说的"exist(filename,'file') == 2会在文件确实存在时发生。"而exist(filename,'file') == 2会在文件不存在时为FALSE。因为assert只在文件不存在时(条件为false)才吐出错误消息,所以它是Simon最初的正确,而不是您的“更正”。
记住,总而言之,如果文件 存在,条件是 真正的 ,以及“文件未找到。”的消息 打印到命令窗口。如果文件是 存在,条件是 ,因此“文件未找到。””的信息 打印到命令窗口。

登录发表评论。


ABHAY K K
ABHAY K K 2019年2月4日
有没有一种方法来检查文件是否存在于一个特定的目录,而不使用文件名,我的意思是说,是更普遍的方法来找出
2的评论
图像分析
图像分析 2020年10月11日
不。 如果你 不知道 文件名,您无法确定文件是否存在。你最多能做的就是看看 任何 通过使用dir()函数,文件存在于文件夹中。

登录发表评论。


多尼瓦斯克
多尼瓦斯克 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) > 0

标签

世界杯预选赛小组名单社区寻宝

在MATLAB中央找到宝藏,并发现社区可以如何帮助你!世界杯预选赛小组名单

开始狩猎!

Baidu
map