我希望从目录中读取文件并对每个文件迭代执行操作。此操作不需要更改文件。
我知道我应该为此使用 for 循环。到目前为止我已经尝试过:
FILES = ls('path\to\folder');
for i = 1:size(FILES, 1);
STRU = pdbread(FILES{i});
end
这里返回的错误向我这个新手表明,使用 ls() 列出目录不会将内容分配给数据结构。
其次,我尝试创建一个文件,其中每行包含文件路径,例如,
C:\Documents and Settings\My Documents\MATLAB\asd.pdb
C:\Documents and Settings\My Documents\MATLAB\asd.pdb
然后我使用以下代码读取该文件:
fid = fopen('paths_to_files.txt');
FILES = textscan(fid, '%s');
FILES = FILES{1};
fclose(fid);
此代码读取文件,但在路径中存在空格的地方创建换行符,即
'C:\Documents'
'and'
'Setting\My'
'Documents\MATLAB\asd.pdb'
最终,我打算使用 for 循环
for i = 1:size(FILES, 1)
PDB = pdbread(char(FILES{i}));
读取每个文件,但 pdbread() 会抛出错误,声明该文件格式不正确或不存在。
这是由于读入路径文件时路径的换行符分隔造成的吗?
非常感谢任何帮助或建议。
谢谢,
小号:-)