我在MATLAB中有一个脚本输出各种文件,包括NIFTI(MRI图像)文件和文本日志文件。有时,创建的输出文件的文件权限设置为任何人都不会读取或写入,包括文件所有者,这似乎是随机发生的。
这通常不是问题,除非它与日志一起发生,因为它导致MATLAB在尝试将错误写入日志时无休止地递归。不幸的是,我找不到任何在任何程序中遇到类似行为的人,包括MATLAB。
脚本,输入文件和输出文件都位于连接到运行Ubuntu 14.04的服务器的NAS驱动器上,所以我想知道这是否是脚本的问题(可能不是因为它是间歇性地发生而不管输入),matlab环境或NAS驱动器。
答案 0 :(得分:0)
我不确定为什么yoru fileattributes / permissions正在改变,但我知道解决方案。你想要file attributes如果你知道来自unix的chmod这应该是熟悉的,如果不是你仍然会很好
这样的内容会使您的文件 w 对于unix(ubuntu)系统上的 a ll用户组
fileattrib('/home/work/results/my_file.log','+w','a')
修改强>
由于这些文件不存在,因此可能效果更好。只需使用带有'w +'标志的fopen即可。这意味着写入模式的追加。 +如果文件不存在(并且您有权在指定目录中创建文件),也会创建该文件
fid = fopen('my_new_log.txt','w+');
fprintf(fid,'some strings for my file');
fclose(fid);
确保在完成后关闭文件也很重要。