Python 程序在从文件夹或桌面打开时无法 运行 正确,但在空闲 运行 时工作正常
Python program won't run correctly when opened from folder or desktop, but works fine when run in IDLE
我创建了一个简单的任务计时程序,用户可以在其中按一个键启动计时器,然后再按一次停止。该程序显示经过的时间。当我 运行 程序时,这一切工作正常,但是在此之后我将时间和任务名称保存到文件中。在 IDLE(和 NetBeans)中 运行 时,此保存工作完美。但是在命令 window 中,程序会关闭,然后会短暂显示回溯错误。数据没有保存到文件中(与我的程序在同一个文件夹中)。
代码如下:
*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')
非常感谢任何帮助。
您是否有机会打开 command-prompt/terminal-session 并从那里执行?那会让你抓住痕迹。
我猜 quant 有权利这样做,而您 运行 遇到了 access/permissions 某种障碍。您也可以尝试保存到一个尚不存在的文件名;也许它只是覆盖了用 IDE 创建的文件,这就是问题所在。
我创建了一个简单的任务计时程序,用户可以在其中按一个键启动计时器,然后再按一次停止。该程序显示经过的时间。当我 运行 程序时,这一切工作正常,但是在此之后我将时间和任务名称保存到文件中。在 IDLE(和 NetBeans)中 运行 时,此保存工作完美。但是在命令 window 中,程序会关闭,然后会短暂显示回溯错误。数据没有保存到文件中(与我的程序在同一个文件夹中)。
代码如下:
*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')
非常感谢任何帮助。
您是否有机会打开 command-prompt/terminal-session 并从那里执行?那会让你抓住痕迹。
我猜 quant 有权利这样做,而您 运行 遇到了 access/permissions 某种障碍。您也可以尝试保存到一个尚不存在的文件名;也许它只是覆盖了用 IDE 创建的文件,这就是问题所在。