首页 > 解决方案 > 使用 f.write() 在 txt 文件上打印科学变量

问题描述

几个小时以来,我正在尝试使用 Python 在 txt 文件中打印一个简单的时间向量。

import numpy as np 

Tp = 2000 * 10**(-9) 
dt = Tp / (90000)

t = np.linspace(0,Tp,dt)

timing = open("time.txt","w")

for ii in range(len(t)) : 
   timing.write(str(t[ii]))
   timing.write("\n")

timing.close()

但我仍然得到一个空文件,我完全不明白为什么。也许我必须以我想要的精度更具体的功能。

由于我有很多小数字(4e-10 ..)要处理,我想了解一种在具有指数符号的 txt 文件上写入变量(而不是一次整个向量)的一般方法(在 Matlab 中它是一种我认为是自动的)。谢谢

标签: python

解决方案


使用 linspace 时出错。请检查https://docs.scipy.org/doc/numpy/reference/generated/numpy.linspace.html

试试这个:

import numpy as np 


Tp = 2000 * 10**(-9) 
# dt = Tp / 90000.0
dt = 90000

t = np.linspace(0,Tp,dt)

timing = open("time.txt","w")

for ii in range(len(t)) : 
   timing.write(str(t[ii]))
   timing.write("\n")

timing.close()

推荐阅读