遇到了一个问题,求大佬帮忙解决下。
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运行一个程序,给我提示这个,咋解决呀。!!!!
这个错误是由于在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中正常运行了。 谢谢大佬
isdkz 发表于 2023-9-1 12:31
这个错误是由于在Python 3中,print函数的语法有所改变导致的。在Python 2中,我们可以使用 print >> fid,...
谢谢呀,大佬,是不是相应的问题都可以这么解决,然后我这边还有好多这种的,您能加我下不,我想问您几个小小的问题,
for i in range(nxi):
print >> fid, "%g" % ( xi ),
print >> fid, ""
for j in range(nyi):
print >> fid, "%g" % ( yi ),
print >> fid, ""
for k in range(nzi):
print >> fid, "%g" % ( zi ),
print >> fid, ""
for k in range(nzi):
for j in range(nyi):
for i in range(nxi):
print >> fid, "%.3f" % ( vp ),
print >> fid , ""
for k in range(nzi):
for j in range(nyi):
for i in range(nxi):
print >> fid, "%.3f" % ( vp/vs ), ;
print >> fid , ""
fid.close()
就是里面有好多的这种,我蠢得不会改emmmm,您能教我下不
页:
[1]