Python保存函数输出到文件[duplicate]

问题描述 投票:-1回答:1

我如何将函数输出(与文件连接)写入此文件?我不能使用函数,它必须是字符串。当我在函数之前添加“ str”时,文件中的所有先前数据都会消失。

def date():
    for num in numbers:
        day = int(num[4:6])
        print(day)

        month = int(num[2:4]) - 20
        print(month)

        year = int(num[0:2])
        if year < 10:
            year2 = 2000 + int(num[1:2])
            print(year2)
        else:
            year2 = 2000 + int(num[0:2])
            print(year2)

f = open('C:\\Users\\X\\Desktop\\python\\Y\\Z.txt','w')
f.write(str(date()))
python function file
1个回答
0
投票

改为附加到文件。

[当您执行open(path, 'w')时,您是在告诉Python覆盖已经存在的所有内容。您还应该使用上下文管理器。

with open('C:\\Users\\X\\Desktop\\python\\Y\\Z.txt', 'a') as f:
    f.write('a date here')

您无法写入该函数的输出,因为它不返回任何内容。除此之外(或除此之外),您可以yield信息,使函数成为生成器,然后每行写一个。

def date():
    for num in numbers:
        day = int(num[4:6])
        print(day)
        yield day

        month = int(num[2:4]) - 20
        print(month)
        yield month

        year = int(num[0:2])
        if year < 10:
            year2 = 2000 + int(num[1:2])
            print(year2)
        else:
            year2 = 2000 + int(num[0:2])
            print(year2)
        yield year2

with open('C:\\Users\\X\\Desktop\\python\\Y\\Z.txt', 'a') as f:
    for line in date():
        f.write(line)
© www.soinside.com 2019 - 2024. All rights reserved.