readf,lun,temp
这两行,位于程序开头,就是用一个字符串型的变量去读取文件的第一行。一般,这用于跳过文件的文件头。
估计这个程序设计之初,txt文件中是有类似于表头的东西,这就是为什么你第一行加一个任意字符,程序就正确了。
如果删去这两行代码,就可以不用加任意字符!
如果格式比较简单的话比较容易,以读TXT为例file = DIALOG_PICKFILE(FILTER='*.txt')
OPENR, lun, file, /GET_LUN
B=FLTARR(50,20)这个行列自行决定,先列后行,FLTARR是浮点型其他数据类型查找帮助文档
READF,lun,B
FREE_LUN,lun
如果是比较复杂格式的TXT,建议用read_ascii读取,方法帮助文档很详细,大致分两部,一个是设置格式,一个是按存好的格式读取,当里面夹杂着大量的文字,各种不同数据类型的时候很好用,可读成结构体
设定ASCII格式
filetemplate=ascii_template(filepth)
save,filetemplate,filename='**.sav'
根据事先存好的模板读取
data=read_ascii(filepth,delimiter=',',template=filetemplate)
总的来说,就是把一个路径下的所有txt文件找出来,将其个数和文件路径都存放在另一个新建的txt里面PRO cimel_read_files_name, path
path = 'E:\cimel batch program\data\' ;设置路径
cimel_file=FILE_SEARCH(path +'*.txt',count = number) ;搜索该路径下所有txt格式文件,number是文件个数
openw, lun, 'E:\cimel batch program\step1\result\cimel_files_name.txt', /GET_LUN;建立TXT文件
PRINTF, lun, number;在刚建立的cimel_files_name.txt'文件中写上面的文件个数
PRINTF, lun, cimel_filer;在刚建立的cimel_files_name.txt'文件中写上面读取的各个文件路径
CLOSE, lun &FREE_LUN, lun;关闭释放内存
PRINT,number ;显示文件个数,就是在控制台那显示,下面两句同
PRINT,'OK'
PRINT,'The end of the pro.'
END
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)