首页 > 解决方案 > 将日期时间中的 x.year 转换为字符串

问题描述

我正在尝试使用一个程序将日期时间中的日、月和年写入平面文件。但是,它似乎不允许我将单个部分(日月年)转换为字符串。

    # Setting Up the Variable:
    x = datetime.datetime.today()
    print(x.year,x.month,x.day,sep='')

    # Writing to file
    fo.write("350|")
    #working
    fo.write(x.year)

我运行它并收到以下错误:

File "main.py", line 408, in MTDReq
fo.write(x.year)
TypeError: write() argument must be str, not int**

我已经尝试使用“Year = str(x.year)”以正常方式进行投射,但显然这不起作用,我没有选择,有人有什么想法吗?

提前谢谢了!

标签: pythondatetimetextcasting

解决方案


fo.write(str(x.year))没有理由不工作,尽管您可能应该使用它datetime.strftime('%Y')

看起来您正在单独编写字段,这有点奇怪,为什么不使用自定义 CSV 方言并通过它逐条记录输出记录呢?


推荐阅读