Python 将Datetime的x.year转换为字符串

Python 将Datetime的x.year转换为字符串,python,datetime,text,casting,Python,Datetime,Text,Casting,我正试图有一个程序,从Datetime将日期、月份和年份写入平面文件。然而,它似乎不允许我将单独的部分(日-月-年)作为一个字符串 # 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) 我

我正试图有一个程序,从Datetime将日期、月份和年份写入平面文件。然而,它似乎不允许我将单独的部分(日-月-年)作为一个字符串

    # 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)”的正常方式来铸造它,但显然这不起作用,我已经没有选择了,有人有什么想法吗

非常感谢!

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


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

为什么
str(x.year)
不起作用?啊,我想我的问题是先尝试将其转换为字符串,然后将其写入文件。我不知道您在编写时可以转换它!我只是一个初学者,所以我只是以最简单的方式进行转换,您所说的CSV方言听起来不错,我会自己查找,但您是否有任何网站/资源可供下载ecommend?csv是标准库中的一个模块:默认情况下,它使用逗号作为分隔符(因此得名),但您可以在创建writer或dictwriter时覆盖该选项。