返回两次打开程序之间的时间(秒)

2024-09-28 20:59:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望在pythonshell中键入y的两次运行之间以秒为单位接收时间

很抱歉,之前我没有具体说明我希望它是什么。 基本上,这是我正在测试的程序,要在另一个大程序(比这个大)中实现

以下是我想要的输出:

首先,我将运行该程序,它将询问我是否要借用,然后我将单击y。 之后,我将再次运行程序,它将要求我返回,我将再次单击y,它将返回我借用的时间(以秒为单位)。这一循环将继续下去

这是一个程序,我需要一个图书馆管理系统

import time
import csv
data_backup1=[]
f=open("a1.csv",'r')
csvr=csv.reader(f)
for line in csvr:
    #copying data into a temporary storage area from csv file
    print(line)
    data_backup1.append(line)
print(csvr,"this is csvr")    
f.close()
l=[]
if len(data_backup1)==0:
    f=open("a1.csv",'w')
    csvw=csv.writer(f)
    a=input("Enter y to borrow")
    if a=="y":
        m="borrowing"
        l.append(m)
        print(l)
        print("this is l")
        n=time.time()
        l.append(n)
        print(l)
        print("this is l")
        csvw.writerow(l)
        f.close()
    f.close()    
    f=open("a1.csv",'r')
    csvr=csv.reader(f)
    for line in csvr:
        print(line)        
else:
    a=input("Enter y to return")
    if a=="y":
        c=[]
        f=open("a1.csv",'r')
        csvr=csv.reader(f)
        c=csvr[1]
        print(c,"this is c")    
        b=c[1]
        print(b,"this is b")
        b=int(b)
        print(time.time()-b)
        f.close()
        f=open("a1.csv",'w')
        f.close()

我想得到一些建议

这是我在两次跑步之间得到的。 请注意,我已经创建了a1.csv

运行1

<_csv.reader object at 0x00000231EA788640> this is csvr
Enter y to borrowy
['borrowing']
this is l
['borrowing', 1597526322.2194974]
this is l
['borrowing', '1597526322.2194974']
[]

在运行1中,我不知道为什么要添加另一个[],所以请在这方面提供帮助

运行2-在这里我希望它返回时间,但我得到一个错误:

['borrowing', '1597526322.2194974']
[]
<_csv.reader object at 0x0000018A1B2E8640> this is csvr
Enter y to returny
Traceback (most recent call last):
  File "C:\Users\CCFFIN\AppData\Local\Programs\Python\Python38\test.py", line 39, in <module>
    c=csvr[1]
TypeError: '_csv.reader' object is not subscriptable

我在一些地方使用print来识别根本不需要的错误

此外,如果可能,请建议测量两个连续数据输入之间的时间差(以秒为单位)的其他方法


Tags: csv程序closedatatimeisa1line
1条回答
网友
1楼 · 发布于 2024-09-28 20:59:05

试试下面。对于问题1:在打开文件进行写入时,需要添加-newline=''。对于第二个问题:读者对象需要先转换为列表,然后才能与下标一起使用

import csv
import os
import time
data_backup1=[]
l=[]
file_exists = os.path.exists('a1.csv')
if file_exists:
    f=open("a1.csv",'r')
    csvr=csv.reader(f)
    for line in csvr:
        #copying data into a temporary storage area from csv file
        print(line)
        data_backup1.append(line)
    print(csvr,"this is csvr")
    f.close()

if len(data_backup1)==0:
    f=open("a1.csv",'w',newline='')
    csvw=csv.writer(f)
    a=input("Enter y to borrow")
    if a=="y":
        m="borrowing"
        l.append(m)
        print(l)
        print("this is l")
        n=round(time.time())
        l.append(n)
        print(l)
        print("this is l")
        csvw.writerow(l)
        f.close()
    f.close()
    f=open("a1.csv",'r')
    csvr=csv.reader(f)
    for line in csvr:
        print(line)
else:
    a=input("Enter y to return")
    if a=="y":
        c=[]
        f=open("a1.csv",'r')
        csvr=csv.reader(f)
        line=list(csvr)
        c=line[0]
        print(c,"this is c")
        b=c[1]
        print(b,"this is b")
        b=int(b)
        print(round(time.time())-b)
        f.close()
        f=open("a1.csv",'w')
        f.close()

相关问题 更多 >