从文件夹或桌面打开时,Python程序无法正确运行,但在IDLE中运行时,它可以正常运行

时间:2018-11-10 19:57:59

标签: python stopwatch traceback

我创建了一个简单的任务计时程序,用户可以在其中按下键来启动计时器,然后再次停止。程序显示经过的时间。当我运行程序时,这一切都很好,但是在此之后,我将时间和任务名称保存到了文件中。在IDLE(和NetBeans)中运行时,此保存可以完美地工作。但是,在命令窗口中,程序将关闭,而不是在短暂显示回溯错误之前关闭。数据未保存到文件(与我的程序位于同一文件夹中)。

代码如下:

*import time
task = input('What task are you completing?\n')
print('Press ENTER to begin. Afterwards, press ENTER to "click" the stopwatch. Press Ctrl-C to quit.')
input()                    
print('Started.')
startTime = time.time()    
lastTime = startTime

while True:
        input()

        totalTime = round(time.time() - startTime, 2)

        totalTime = str(totalTime)

        seconds = int(float(totalTime))

        minutes, seconds = divmod(seconds, 60)
        hours, minutes = divmod(minutes, 60)
        periods = [('hours', hours), ('minutes', minutes), ('seconds', seconds)]
        time_string = ', '.join('{} {}'.format(value, name)
                                for name, value in periods
                                if value)

        print(str(task) + ' took: ' + time_string)
        time.sleep(2)
        print('Saving to file')
        time.sleep(3)



        writefile = open('Timelog.csv','a')
        writefile.write(task + ', ' + time_string + '')
        writefile.close()
        break
end = input('Press enter to close')

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您是否有可能打开命令提示符/终端会话并从那里执行?这样您就可以掌握踪迹。

我猜Quan拥有它的权利,而您正在遇到某种访问/权限障碍。您也可以尝试将其保存为尚不存在的文件名。可能是因为覆盖了使用IDE创建的文件。