gpt4 book ai didi

Python 添加一个没有\n 的新行

转载 作者:太空宇宙 更新时间:2023-11-04 10:07:14 25 4
gpt4 key购买 nike

我有这个

    f = open(os.path.join(r"/path/to/file/{}.txt").format(userid), "w")
f.write(str(points))
f.write(str(level))
f.write(str(prevtime))
f.close()

我知道如何使用 with open(blah) as f: 并且更喜欢这个但是当我有这个代码时,即使我先写文件然后更改为追加模式,而不添加 + "\n"它不会添加到新行。\n 是一个问题的原因是当我使用

获取数据时
    f = open(os.path.join(r"blah\{}.txt").format(userid), "r")
lines = f.readlines()
points = float(lines[0])

我会收到一条错误消息,告诉我它无法将(例如:500\n)解释为 float ,因为它读取的是\n。知道我能做什么吗?

编辑我最终通过不使其成为 float 来修复它,但现在它给了我一个 ValueError Unconverted Data Remains。这些问题只是由于 txt 文件中的行应包含格式为 %H:%M 的日期而发生

编辑 2019我看到很多人试图搜索同一个问题。我的问题实际上以我忽略并明显缺乏对 Python 类型的理解而告终。
为了回答我想很多人在查看此内容时正在搜索的问题,\n 是 Python 的换行符。另一种方法(如果使用 print())将完全按照显示的方式调用 print(),没有数据,从而产生一个空行。

最佳答案

所以,你有这样的东西

>>> f = open("test.txt", "w")
>>> f.write(str(4))
>>> f.write(str(20))
>>> f.close()
>>> f = open("test.txt")
>>> f.readlines()
['420']

但是,你需要写换行符,所以就这样做

>>> f = open("test.txt", "w")
>>> f.write("{}\n".format(4))
>>> f.write("{}\n".format(20))
>>> f.close()
>>> f = open("test.txt")
>>> f.readlines()
['4\n', '20\n']
>>> f.close()

如果您不需要换行符,请尝试 read().splitlines()

>>> f = open("test.txt")
>>> f.read().splitlines()
['4', '20']

编辑

就时间值而言,这里有一个例子。

>>> from datetime import datetime
>>> time_str = datetime.now().strftime("%H:%M")
>>> time_str
'18:26'
>>> datetime.strptime(time_str, "%H:%M")
datetime.datetime(1900, 1, 1, 18, 26)

关于Python 添加一个没有\n 的新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40369875/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com