网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
首先,将该目录下所有文件的“文件路径和文件名”写入到一个文本文件(name.txt)中,具体方法如下:
1、建立一个txt文件,写入如下代码:
DIR /S/B >name.txt
2、将文件后缀改为.bat
3、运行*.bat文件
4、打开输出的name.txt文件,将非将要处理的文件路径删除。如下图,将后两行数据删除:
5、保存后退出。
利用Fortran读取name.txt文件,每一行即为要读取的数据文件;利用Fortran读取每一行后,打开该行的数据文件,进行相关操作,具体如下:
代码:
program read_co2
implicit none
integer in_n
character(len=80) filename_r
character(len=80) filename_name
integer num_line_name
!!!!!!!!!!将存放数据文件路径和文件名的文件写入变量filename_name中
write(filename_name,*) 'E:*****\name.txt'
!!!!!!!!!!调用子程序计算存放数据文件路径和文件名文件的行数
call calculate_numline_2(filename_name,num_line_name)
open(2000,file=filename_name)
do in_n=1,num_line_name !!!!!!!!!!do 起始,从1到文件最后一行
read(2000,*) filename_r !!!!!!!!!!do 读取数据文件路径和文件名
print*,filename_r
open(20,file=filename_r)
read(20,*)
read(20,*)
close(20)
end do !!!!!!!!!!!!!!!end终止
close(2000)
end
运行结果如下:
其中计算文件行数的子程序如下:
!!!!!!!!!!!!!!!!!!!!!!!!!!子程序——计算文件行数(无需剔除开头几行)!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
subroutine calculate_numline_2(filename,num_line)
character(len=80) filename
integer num_line
num_line=0
open(1000,file=filename)
do while(.not.(eof(1000)))
read(1000,*)
num_line=num_line+1
end do
close(1000)
end subroutine calculate_numline_2
添加我为好友,拉您入交流群!
请使用微信扫一扫!