鱼C论坛

 找回密码
 立即注册
查看: 675|回复: 3

[已解决]遇到了一个问题,求大佬帮忙解决下。

[复制链接]
发表于 2023-9-1 12:31:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Traceback (most recent call last):
  File "C:\Users\asus\Desktop\局基金-202318-利用TomoDD方法研究新疆天山中段地壳三维P波速度结构及地震分布特征\USTClitho2.0-main\interpVel.py", line 124, in <module>
    print >> fid, "%g %d %d %d" % ( bld, nxi, nyi, nzi )
TypeError: unsupported operand type(s) for >>: 'builtin_function_or_method' and '_io.TextIOWrapper'. Did you mean "print(<message>, file=<output_stream>)"?

用Pycharm运行一个程序,给我提示这个,咋解决呀。!!!!
最佳答案
2023-9-1 12:31:19
这个错误是由于在Python 3中,print函数的语法有所改变导致的。在Python 2中,我们可以使用 print >> fid, "%g %d %d %d" % ( bld, nxi, nyi, nzi ) 这样的语法将输出写入到文件中。然而,在Python 3中,这种语法是不再支持的。

要解决这个问题,您可以使用Python 3的新语法,将输出写入到文件中。您可以使用 print("%g %d %d %d" % (bld, nxi, nyi, nzi), file=fid) 来实现相同的功能。这样,输出将被写入到指定的文件中。

所以,您需要将代码中的这一行:
print >> fid, "%g %d %d %d" % ( bld, nxi, nyi, nzi )
修改为:
print("%g %d %d %d" % (bld, nxi, nyi, nzi), file=fid)

这样修改后,您的代码应该能够在Python 3中正常运行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-9-1 12:31:19 | 显示全部楼层    本楼为最佳答案   
这个错误是由于在Python 3中,print函数的语法有所改变导致的。在Python 2中,我们可以使用 print >> fid, "%g %d %d %d" % ( bld, nxi, nyi, nzi ) 这样的语法将输出写入到文件中。然而,在Python 3中,这种语法是不再支持的。

要解决这个问题,您可以使用Python 3的新语法,将输出写入到文件中。您可以使用 print("%g %d %d %d" % (bld, nxi, nyi, nzi), file=fid) 来实现相同的功能。这样,输出将被写入到指定的文件中。

所以,您需要将代码中的这一行:
print >> fid, "%g %d %d %d" % ( bld, nxi, nyi, nzi )
修改为:
print("%g %d %d %d" % (bld, nxi, nyi, nzi), file=fid)

这样修改后,您的代码应该能够在Python 3中正常运行了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-1 13:29:34 | 显示全部楼层
谢谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-9-1 13:34:55 | 显示全部楼层
isdkz 发表于 2023-9-1 12:31
这个错误是由于在Python 3中,print函数的语法有所改变导致的。在Python 2中,我们可以使用 print >> fid,  ...

谢谢呀,大佬,是不是相应的问题都可以这么解决,然后我这边还有好多这种的,您能加我下不,我想问您几个小小的问题,
        for i in range(nxi):
                print >> fid, "%g" % ( xi[i] ),
        print >> fid, ""

        for j in range(nyi):
                print >> fid, "%g" % ( yi[j] ),
        print >> fid, ""

        for k in range(nzi):
                print >> fid, "%g" % ( zi[k] ),
        print >> fid, ""

        for k in range(nzi):
                for j in range(nyi):
                        for i in range(nxi):
                                print >> fid, "%.3f" % ( vp[k*nyi+j,i] ),
                        print >> fid , ""
        for k in range(nzi):
                for j in range(nyi):
                        for i in range(nxi):
                                print >> fid, "%.3f" % ( vp[k*nyi+j,i]/vs[k*nyi+j,i] ), ;
                        print >> fid , ""
        fid.close()

就是里面有好多的这种,我蠢得不会改emmmm  ,您能教我下不
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 14:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表