我正在尝试使用以下代码每秒在文件中写入一些内容:
from datetime import datetime
import schedule
import time
def test():
f = open(r"C:\logs.txt","w")
time = datetime.now()
f.write("test " + str(time))
f.write("\n")
schedule.every().second.do(test)
while True:
schedule.run_pending()
time.sleep(1)
但是当我查看logs.txt文件时,结果是这样的:
test 2020-08-08 21:10:52.605432
代替(我想做的):
test 2020-08-08 21:10:52.605432
test 2020-08-08 21:10:53.605432
test 2020-08-08 21:10:54.605432
...
代码似乎覆盖了第一行,而不是每次有新的第二行时都逐行写入。 你可以帮帮我吗 ? 谢谢
更新的代码:
from datetime import datetime
import schedule
import time
def test():
f = open(r"C:\logs.txt","a")
time = datetime.now()
f.write("test " + str(time))
f.write("\n")
f.close()
while True:
schedule.every().second.do(test)
schedule.run_pending()
time.sleep(1)
答案 0 :(得分:3)
以附加模式打开文件以避免覆盖: import Button from "@material-ui/core/Button";
const RegularButton = React.forwardRef((props, ref) => {
return (
<Button {...rest} ref={ref} className={btnClasses}>
{children}
</Button>
);
}
。此外,建议您在完成写入后使用open(r"C:\logs.txt","a")
语句自动关闭文件。
示例代码:
with