24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 1275  |  回复: 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 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 一志愿北京理工大学本科211材料工程294求调剂 +6 mikasa的围巾 2026-03-28 6/300 2026-03-29 01:32 by fmesaito
[考研] 调剂310 +7 温柔的晚安 2026-03-25 8/400 2026-03-29 01:09 by 我是小康
[硕博家园] 求调剂 330分 085600材料与化工 +3 gqhhh 2026-03-22 3/150 2026-03-29 00:52 by 544594351
[考研] 0703 化学 求调剂,一志愿山东大学 342 分 +4 Shern—- 2026-03-28 4/200 2026-03-29 00:47 by 544594351
[考研] 085600,专业课化工原理,321分求调剂 +4 大馋小子 2026-03-28 4/200 2026-03-29 00:32 by 544594351
[考研] 求调剂 +7 争取九点睡 2026-03-28 8/400 2026-03-28 21:07 by 争取九点睡
[考研] 食品工程专硕一志愿中海洋309求调剂 +4 小张zxy张 2026-03-26 8/400 2026-03-28 19:25 by lbsjt
[考研] 0856求调剂 +11 zhn03 2026-03-25 12/600 2026-03-28 13:32 by 唐沐儿
[考研] 283求调剂 +7 A child 2026-03-28 7/350 2026-03-28 12:05 by zllcz
[考研] 【求调剂】085601材料工程专硕 | 总分272 | +6 脚滑的守法公民 2026-03-27 6/300 2026-03-28 11:02 by gjlllb
[考研] 求调剂 +3 刘柯@ 2026-03-24 4/200 2026-03-27 11:28 by shangxh
[考研] 调剂 +3 李嘉图·S·路 2026-03-27 3/150 2026-03-27 11:19 by wangjy2002
[考研] 321求调剂 +6 Ymlll 2026-03-24 6/300 2026-03-26 20:50 by 不吃魚的貓
[考研] 327求调剂 +7 prayer13 2026-03-23 7/350 2026-03-26 20:48 by 不吃魚的貓
[考研] 【双一流院校新能源、环境材料,材料加工与模拟招收大量调剂】 +4 Higraduate 2026-03-22 8/400 2026-03-26 20:34 by Higraduate
[考研] 281求调剂 +6 Koxui 2026-03-24 7/350 2026-03-26 15:37 by 无际的草原
[考研] 一志愿上海交大生物与医药专硕324分,求调剂 +6 jiajunX 2026-03-22 6/300 2026-03-25 23:05 by licg0208
[考研] 网络空间安全0839招调剂 +4 w320357296 2026-03-25 6/300 2026-03-25 17:59 by 255671
[考研] 求b区院校调剂 +4 周56 2026-03-24 5/250 2026-03-25 17:12 by yishunmin
[考研] 300分,材料,求调剂,英一数二 +5 超赞的 2026-03-24 5/250 2026-03-24 21:07 by 星空星月
信息提示
请填处理意见