python-3.x - 为什么我的用户定义函数的返回值没有写入文本文件?
问题描述
正如标题所述,我一直在尽一切努力将结果写入文件。任何人都可以让我知道发生了什么事吗?我将不胜感激!
def convert_seconds(seconds):
hours = seconds // 3600
minutes = (seconds - hours * 3600) // 60
remaining_seconds = (seconds - hours * 3600 - minutes * 60)
return(hours, minutes, remaining_seconds)
convs = open("results.txt", "w")
koshka = input()
hours, minutes, seconds = convert_seconds(koshka)
convs.write(hours, minutes, seconds)
解决方案
我在这里看到三个潜在的错误。当我测试这段代码时,我的第一个问题是捕获input()
的是一个字符串,它需要是一个整数或浮点数(但这可能只是我运行它的方式)。我通过添加seconds = int(seconds)
到函数的顶部来解决这个问题。
接下来,convs.write(hours, minutes, seconds)
抛出一个错误,因为 writ 只接受一个参数。它应该是这样的,convs.write(str(hours) + " " + str(minutes) + " " + str(seconds))
你可以让它更优雅,但关键是你需要写对象是一个字符串。
最后,在 w 模式下运行 write() 将“将文件截断为零长度或创建用于写入的文本文件。流位于文件的开头。” 大概,您想打开文件并将结果添加到其他任何内容中?如果是这样,您应该使用“a”而不是“w”。
推荐阅读
- oracle-cloud-infrastructure - 将数据从本地数据库流式传输到 Oracle OCI Obejctstorage
- python - 如何使用 CLR 和 pythonnet 将 python 列表作为函数参数传递给导入的 dotnet 函数?
- java - 用于嵌入式和独立 MongoDB 的 Spring @Transactional 中断应用程序
- spring-boot - 在条件查询 API 中的 Spring JPA 中生成别名错误
- elasticsearch - 有没有办法在 Elasticsearch 中仅对所有文档的聚合结果应用后置过滤器?
- python - 如何使用股票数据对 multiIndex 数据框进行切片?
- csv - 从 IDE 获取 Minizinc 输出为 .txt
- c++ - 如何指向/访问证书文件`CertCreateCertificateContext`函数?(wincrypt api)
- c# - 我想让 StreamingAssets 的 png 图像成为材质的纹理
- python - Python Pandas groupby,具有不同值的日期列,然后返回一个数据框,其中日期列填充最新日期