24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1276  |  回复: 5
当前主题已经存档。

gongxd325

至尊木虫 (文坛精英)

[交流] 【求助】字符串和数值跨行读取问题【已完结】

想编程从Gaussian的计算结果中取出最后的能量(“HF=”后面的数字,如1所示,该情况下字符串和数字都在同一行上,处理并不困难)

问题是,字符串“HF=”可能分开在两行上(如2所示),“HF=”后的数字也可能在两行上且小数点前后的位数不固定(如3所示)。最大的困难是字符串“HF=”跨行时怎么确定其位置?

请教:
(a)如何编程才能保证不管什么情况,都能正确判断“HF=”的位置并读出其值?
(b)字符和数字混合时有什么好办法把数字读出来?


(1)
vB.03|State=1-A'|HF=-834.0759008|R
MSD=4.635e-009|RMSF=7.697e-005|Dip
(2)
=x86-Win32-G03RevB.03|State=1-A'|H
F=-834.0759008|RMSD=4.635e-009|RMS
(3)
32-G03RevB.03|State=1-A'|HF=-834.0
80|RMSD=4.635e-009|RMSF=7.697e-005

[ Last edited by 余泽成 on 2009-11-19 at 13:41 ]
回复此楼

» 猜你喜欢

一个人做点好事并不难难的是一辈子做好事!!!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
gongxd325(金币+2,VIP+0):感谢! 8-2 11:51
换种思路,如何?

你现在查的其实是 gaussian 给出的最后存档的结果,即 archive

你可以在结果文件中查找类似于下面这一行:

SCF Done:  E(RHF) =  -1554.11090384     A.U. after    1 cycles

这里的 E(RHF) 就是你需要的 HF 的能量。当然,因为这个会出现很多次,所以你需要做的是确定最后一个,或最小的一个,当然,这要简单很多了……
2楼2009-08-02 10:35:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gongxd325

至尊木虫 (文坛精英)

谢谢snoopyzhao,不过以你建议的这种方式只能对某一种方法适用,因为HF,DFT,MP2计算中间输出能量的格式都不一样,只有在archive中是一致的。
为了防止字符串"HF="分开在两行时可能出现bug,我把G03也作为特征字符串,但假如HF=和G03同时分开在两行,就肯定出问题了。
所以,我想知道是不是有更好的办法。
一个人做点好事并不难难的是一辈子做好事!!!
3楼2009-08-02 11:51:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
gongxd325(金币+2,VIP+0):谢谢,有点启发 8-3 11:43
用 fortran 处理字符串是一件很累人的事情。

用 index 查 HF,如果返回值不是零,那么读后面的数值,如果没有碰到 | 就读下一行并过滤掉空白字符,直到碰到 |,这可以处理 (1),(3) 两种情况。

判断一行的最后一个非空白字符是不是 H,如果是,判断下一行的第一个非空白字符是不是 F,如果两者成立,读后面的数值。这可以处理第 (2) 种情况。

我只是纸上谈兵了,因为我基本上不用 fortran 处理字符串,呵呵……
4楼2009-08-02 19:16:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

gongxd325

至尊木虫 (文坛精英)

我现在的思路,是先以HF=和G03为特征字符串确定位置,然后把连续3行写成一行,再读能量值,可保证能量在一行。所以,只要不发生字符串HF=和G03同时分开在两行就没有问题。
不知道是不是有更好的办法?
另外,从字符串中如何读数字比较方便?我是把数字当字符串读出后写到文件中,再从文件中以数字形式读出来的。
一个人做点好事并不难难的是一辈子做好事!!!
5楼2009-08-03 11:52:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)


gongxd325(金币+1,VIP+0):什么语言都可以,只要能解决问题,能不能给编一段? 8-3 15:01
这个貌似用c#很容易啊。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
6楼2009-08-03 12:33:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 gongxd325 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 332求调剂 +6 蕉蕉123 2026-03-28 6/300 2026-03-29 00:37 by 544594351
[考研] 一志愿武汉理工,总分321,英一数二,求老师收留。 +7 nnnnnnn5 2026-03-25 7/350 2026-03-29 00:32 by 我是小康
[考研] 085701求调剂初试286分 +4 secret0328 2026-03-28 4/200 2026-03-28 21:09 by 15366876211
[考研] 315求调剂 +4 akie... 2026-03-28 5/250 2026-03-28 21:05 by zhq0425
[考研] 347求调剂 +3 山顶见α 2026-03-25 3/150 2026-03-28 14:13 by 唐沐儿
[考研] 0703化学求调剂 +9 奶油草莓. 2026-03-22 10/500 2026-03-28 13:30 by 唐沐儿
[考研] 085600 286分 材料求调剂 +7 麻辣鱿鱼 2026-03-27 8/400 2026-03-28 12:17 by zllcz
[考研] 285求调剂 +4 AZMK 2026-03-27 7/350 2026-03-27 20:59 by AZMK
[考博] 26申博 +3 加油冲啊! 2026-03-26 3/150 2026-03-27 15:38 by cls512
[考研] 08开头275求调剂 +4 拉谁不重要 2026-03-26 4/200 2026-03-27 14:12 by Delta2012
[考研] 322求调剂 +4 我真的很想学习 2026-03-23 4/200 2026-03-27 13:51 by 杨杨杨紫
[考研] 348求调剂 +4 小懒虫不懒了 2026-03-27 5/250 2026-03-27 12:47 by 果果妈咪
[考研] 材料求调剂 +5 .m.. 2026-03-25 5/250 2026-03-27 11:08 by 不吃魚的貓
[考研] 求调剂 一志愿 本科 北科大 化学 343 +6 13831862839 2026-03-24 7/350 2026-03-26 22:57 by 不吃魚的貓
[考研] 332求调剂 +6 032500 2026-03-25 6/300 2026-03-25 22:45 by 418490947
[考研] 材料专硕 335 分求调剂 +4 拒绝冷暴力 2026-03-25 4/200 2026-03-25 18:45 by haxia
[考研] 0854AI CV方向招收调剂 +4 章小鱼567 2026-03-23 4/200 2026-03-25 17:04 by CoderLoser
[考研] 0854电子信息求调剂 324 +4 Promise-jyl 2026-03-23 4/200 2026-03-25 11:36 by Sugarlight
[考研] B区考研调剂 +4 yqdszhdap- 2026-03-22 5/250 2026-03-25 08:51 by baoball
[考研] 一志愿重庆大学085700资源与环境,总分308求调剂 +7 墨墨漠 2026-03-23 8/400 2026-03-23 20:36 by Creta
信息提示
请填处理意见