虽然我找到了很多关于这个问题的答案和讨论,但我无法找到适合我的情况的解决方案。在这里:我有一个用FORTRAN编写的主程序。我得到了一组非常有用的python脚本。我的目标是从我的主FORTRAN程序访问这些python脚本。目前,我只是这样调用FORTRAN中的脚本:调用系统('pythonpyexample.py')数据从.dat文件读取并写入.dat文件。这就是python脚本和主要FORTRAN程序相互通信的方式。我目前正在我的本地机器上运行我的代码。我安装了带有numpy、scipy等的python。我的问题:代码需要在远程服务器上运行。对于严格的FORTRAN代码,我在本地
我正在尝试将Fortrandouble(如1.2345D+02)读入python,但出现以下错误:>>>float('1.2345D+02')Traceback(mostrecentcalllast):File"",line1,inValueError:invalidliteralforfloat():1.2345D+02按照PythonscientificnotationusingDinsteadofE上的建议进行操作,我试过numpy但我也得到了同样的错误:importnumpy>>>numpy.float("1.2345D+02")Traceback(mostrecentcall
对于一个项目,我正在将一个使用SciPy的科学Python应用程序移植到Android。我目前正在使用https://github.com/kivy/python-for-android构建代码。NumPy可以构建,但SciPy被证明是一个真正的麻烦。与devenv和kivypythonforandroid打交道,我不得不将SciPyC库编译为androidARM,但现在,fortran库仍有待构建,我不知所措。如有任何帮助,我们将不胜感激。 最佳答案 如果这是一个非答案的道歉:首先,如果你只是玩玩我建议在armchrootjail
我刚刚使用F2PY将Fortran90子例程包装到python。这里的微妙之处在于Fortran子例程aslo将python回调函数作为其参数之一:SUBROUTINEf90foo(pyfunc,a)real(kind=8),intent(in)::a!f2pyintent(callback)pyfuncexternalpyfunc!f2pyreal*8y,x!f2pyy=pyfunc(x)!***debugbegins***print*,'StartLoop'doi=1,1000p=pyfunc(a)enddototal=etime(elapsed)print*,'End:total
经历:fortran大约3个月python-中级:在此之前从未在python中使用过ctypes模块我一直在寻找一种方法来使用fortran代码来完成我在python方面的博士工作——随后使用matplotlib进行可视化的动态计算。THISPOST帮助(这表明可以使用ctypes模块在python中使用/调用fortran代码-并且考虑到fortran函数具有绑定(bind)到它们的备用名称-这在逻辑上对我来说很有意义,尽管我不知道它是如何工作的细节。但我们确实明智地选择了我们的战斗!)。那么thisSOpost也处理从python调用fortran函数。下一个合乎逻辑的步骤是查找d
这个问题很奇怪,我知道。我有一个Fortran77代码库,它大部分解析大型非二进制文件,对这些文件进行一些操作,然后进行大量文件写入。代码库不进行任何矩阵操作或数字运算。这个遗留代码是fortran语言,因为许多其他代码库确实需要严格的数字运算。这最初只是用fortran编写的,因为有fortran的知识。我的建议是完全用python(最有可能是3.3)重写它。Fortran代码的维护和您想象的一样困难,测试也和您想象的一样糟糕。显然python在这里会有很大帮助。在python中的文件处理速度方面是否有任何性能影响(甚至增益)?目前该系统的大部分运行时间都在读取/写入文件。提前致谢
在Fortran中有一个语句Implicitnone当一个局部变量没有被声明但是被使用时会抛出一个编译错误。我知道Python是一种动态类型的语言,变量的范围可以在运行时确定。但我想避免在忘记初始化局部变量但在主代码中使用它时发生的某些意外错误。例如,以下代码中的变量x是全局变量,尽管我并没有这样打算:deftest():y=x+2#intendedthisxtobealocalvariablebutforgot#xwasnotinitializedprintyx=3test()所以我的问题是:是否有任何方法可以确保test()中使用的所有变量都是本地变量并且没有副作用。我正在使用Py
我正在将一些MATLAB代码移植到Numpy。此任务包括从某些C++代码中剥离MEX,并将其替换为对Numpy的C-API的等效调用。一个问题是MEX代码将传入数据视为按Fortran排序的,因为这就是MATLAB对其数组排序的方式。另一方面,Numpy默认使用C排序。如果不完全重写C排序的MEX代码,我可以:(A)使用.copy('F')对进入C代码的数组重新排序,对使用.copy('C')(B)从一开始就按照Fortran顺序执行所有操作,弄清楚如何让numpy“模拟”MATLAB。选项A——目前已实现——工作正常但效率极低。有人知道如何使选项B起作用吗?
最终更新这个问题是关于如何写一个setup.py这将编译一个直接访问FORTRAN代码的cython模块,就像C一样。这是一个相当漫长而艰巨的解决方案之旅,但完整的困惑包含在下面作为上下文。原问题我有一个扩展名,它是一个Cython文件,它设置了一些堆内存并将其传递给fortran代码,还有一个fortran文件,这是一个古老的模块,如果可以,我希望避免重新实现。.pyx文件可以很好地编译为C,但是cython编译器在.f90上卡住了带有以下错误的文件:$pythonsetup.pybuild_ext--inplacerunningbuild_extcythoningdelaunay/
我正在编写一个代码,其中包含带有许多三角函数和其他恒等式的长数学方程式。有没有一种方法可以在latex中可视化相同的表达式,并从中生成C或Python表达式,或者反过来。如何输入和检查数学表达式以查看括号等是否在正确的位置并在latex文档中使用它们?提前致谢 最佳答案 您看过Sympy了吗?它有一个用于从python代码生成LaTeX的模块,但它实际上要多得多。Sympy,正如您可能从名称中猜到的那样,是一个用于符号计算的python库。Sympy库还包含它自己的内置解释器(cd到站点包中的sympy目录,然后在shell提示符下