使用 python 在文件中附加浮点数的最佳方法?
Best way to append a float in a file with python?
我有一个包含多个变量的文件,如下所示:
BTC = 375.23
SOL = 200.42
LTC = 208.91
DOT = 60.12
还有一个主脚本。我如何附加这些值?示例:将 BTC = 375.23
更改为 BTC = 420.32
。我使用的方法是:
from varfile import * # imported this way for trial and error
from varfile import BTC # imported this way for trial and error
import varfile
def blah():
varfile.BTC.append(float(420.32))
blah()
但我收到一个错误:AttributeError: 'float' object has no attribute 'append'
我觉得我只需要以某种方式将 float
转换为 str
但运气不好。
我发现了一些类似的帖子,但没有完全相同的内容,也没有按照我想要的方式工作。
让我稍微澄清一下,也许可以添加一些上下文。
有 2 个文件,一个是我的主脚本,另一个文件包含数据 - 我提到的变量在 varfile.py
中。数据文件不需要是任何特定类型的文件,它可以是 txt
文件或 json
,任何东西。
当主脚本是 运行 时,我希望它读取变量 BTC
、SOL
等的值。在函数中读取并使用这些值后,我想在下次 运行 主脚本时更改这些值。
您收到错误的原因是 varfile.BTC
是一个浮点数。
import varfile
def blah():
# varfile.BTC = 345.23 which is a float and has no append method
varfile.BTC.append(float(420.32))
blah()
如果您的目标是在运行时简单地更改变量的值,这就足够了。
varfile.BTC = 0.1 # or some other value
如果您的目标是更改文件的实际内容,则不应将其保存在 .py
文件中,也不应将其导入您的脚本中。
如果您想更改纯文本文件中的值,它看起来像这样。
BTC = 10 # this is the value you want to change it to
varfile = 'varfile.txt'
with open(varfile, 'rt') as txtfile:
contents = txtfile.read().split('\n')
# contents.append("BTC = " + str(BTC)) # this line is if you just wanted to add a value to the end of the file.
for i,line in enumerate(contents):
if 'BTC' in line:
contents[i] = 'BTC = ' + str(BTC)
break
with open(varfile, "wt") as wfile:
wfile.write('\n'.join(contents))
我有一个包含多个变量的文件,如下所示:
BTC = 375.23
SOL = 200.42
LTC = 208.91
DOT = 60.12
还有一个主脚本。我如何附加这些值?示例:将 BTC = 375.23
更改为 BTC = 420.32
。我使用的方法是:
from varfile import * # imported this way for trial and error
from varfile import BTC # imported this way for trial and error
import varfile
def blah():
varfile.BTC.append(float(420.32))
blah()
但我收到一个错误:AttributeError: 'float' object has no attribute 'append'
我觉得我只需要以某种方式将 float
转换为 str
但运气不好。
我发现了一些类似的帖子,但没有完全相同的内容,也没有按照我想要的方式工作。
让我稍微澄清一下,也许可以添加一些上下文。
有 2 个文件,一个是我的主脚本,另一个文件包含数据 - 我提到的变量在 varfile.py
中。数据文件不需要是任何特定类型的文件,它可以是 txt
文件或 json
,任何东西。
当主脚本是 运行 时,我希望它读取变量 BTC
、SOL
等的值。在函数中读取并使用这些值后,我想在下次 运行 主脚本时更改这些值。
您收到错误的原因是 varfile.BTC
是一个浮点数。
import varfile
def blah():
# varfile.BTC = 345.23 which is a float and has no append method
varfile.BTC.append(float(420.32))
blah()
如果您的目标是在运行时简单地更改变量的值,这就足够了。
varfile.BTC = 0.1 # or some other value
如果您的目标是更改文件的实际内容,则不应将其保存在 .py
文件中,也不应将其导入您的脚本中。
如果您想更改纯文本文件中的值,它看起来像这样。
BTC = 10 # this is the value you want to change it to
varfile = 'varfile.txt'
with open(varfile, 'rt') as txtfile:
contents = txtfile.read().split('\n')
# contents.append("BTC = " + str(BTC)) # this line is if you just wanted to add a value to the end of the file.
for i,line in enumerate(contents):
if 'BTC' in line:
contents[i] = 'BTC = ' + str(BTC)
break
with open(varfile, "wt") as wfile:
wfile.write('\n'.join(contents))