【问题标题】:My write( ) function is not working, why?我的 write( ) 函数不起作用,为什么?
【发布时间】:2022-11-25 09:38:18
【问题描述】:

所以,我是编码新手,我正在为一家虚构的医院制作一个注册系统,它获取用户名、他们拥有的程序和日期,之后它总结了几天(计算回报),然后写在 . txt 文件,但是写入部分不起作用,我该如何解决?抱歉,印刷品和变量是葡萄牙语的。

def cadastrar(arq, nomep , proc , x, y, z, w):
    datas = datetime.strptime(w, '%Y-%m-%d')
    l = 0
    m = 0
    n = 0
    o = 0
    p = 0
    try:
        a = open(arq, 'r+')
        for linha in a:
            dados = linha.split(';')
            if dados[1] in ['Procedimento X']:
                l = datas + \
                    timedelta(days = 15)
                m = datas + \
                    timedelta(days = 152)
                n = datas + \
                    timedelta(days = 304)
                o = datas + \
                    timedelta(days = 456)
                try:
                    a.write(f'{nomep};{proc};{x}-{y}-{z}\n;{l};{m};{n};{o}')
                except:
                    print('\033[31mErro ao escrever.\033[m')
                else:
                    print(f'\033[92m{nomep} foi cadastrado com sucesso.\033[m')
                    a.close()
    finally:
        print('')

我想让它写在 txt 文件上,但突然它就停止工作了,我不知道为什么。

【问题讨论】:

  • 欢迎来到堆栈溢出!您可能应该使用 with open(): 语法而不是 a = open(),这样即使程序崩溃,文件也始终关闭。

标签: python python-3.x datetime fopen fwrite


【解决方案1】:

尝试改变

a = open(arq, 'r+')

to

a = open(arq, 'w+')

【讨论】:

    猜你喜欢
    • 2016-12-19
    • 2019-03-11
    • 2021-03-21
    • 2021-12-18
    • 2011-06-23
    • 1970-01-01
    • 2017-08-18
    • 2010-10-18
    • 1970-01-01
    相关资源
    最近更新 更多