我可以将输入文件传递给fortran程序,如下所示:
./foo < inputfile
但是在gdb中,我尝试过这个:
gdb ./foo
run < inputfile
它什么都不显示,不起作用。
更新: 我的系统是MACOS high sierra GDB版本:8.0
答案 0 :(得分:0)
主程序的示例,可选择从参数中获取输入数据文件:
np.random.seed(452)
first=np.random.rand(3,5)
print (first)
[[ 0.88642869 0.42677701 0.89968857 0.87976326 0.07758206]
[ 0.43617027 0.03221375 0.46398119 0.14226246 0.14237448]
[ 0.22679517 0.60271752 0.85003435 0.5676184 0.87565266]]
second=np.random.rand(3,2)
print (second)
[[ 0.89830548 0.27066452]
[ 0.23907483 0.73784657]
[ 0.09083235 0.98984701]]
third=np.random.rand(3,3)
L = [first, second, third]
df = pd.DataFrame(np.concatenate(L, axis=1))
print (df)
0 1 2 3 4 5 6 \
0 0.886429 0.426777 0.899689 0.879763 0.077582 0.898305 0.270665
1 0.436170 0.032214 0.463981 0.142262 0.142374 0.239075 0.737847
2 0.226795 0.602718 0.850034 0.567618 0.875653 0.090832 0.989847
7 8 9
0 0.837404 0.090284 0.764517
1 0.564904 0.489809 0.254518
2 0.426737 0.364310 0.328396
输入牌组&#34; d.dat&#34; :
program test
character(256) :: cfile
integer :: unit,status,itest
call get_command_argument(1,cfile)
if(cfile /= "") then
unit=15
open(unit,file=cfile,iostat=status)
if(status /= 0) then
write(*,*) 'invalid file ',trim(cfile)
stop
endif
else
unit=5
endif
read(unit,*) itest
write(*,*) itest
! ...
end program
测试:
25
答案 1 :(得分:-1)
也许试试run <<< $(cat file)