返回我打开程序的 2 次之间的时间(以秒为单位)

Returning the time (in seconds) between the 2 times I open the program

我想接收我在 python shell.

中键入 y 的两个 运行 之间的时间(以秒为单位)

很抱歉之前我没有指定我想要它是什么。 基本上这是我正在测试在另一个大程序(比这个大)中实现的程序。

这是我想要的输出:

首先我会运行这个程序,它会问我是否要借,我会点击y。 之后,我将再次 运行 程序,它会要求我 return,我将再次单击 y,它应该 return 我借用的时间(以秒为单位)。循环将继续。

这是我需要的图书馆管理系统程序。

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 - 在这里我希望它达到 return 的时间,但出现错误:

['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来识别完全没有必要的错误。

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

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

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()