我正在努力完善dummy blockchain
代码,并希望使其无法read and write csv
的文件已经被使用。我该怎么办?
我把start()
,join()
,acquire()
,release()
等我想过的所有地方都放了,但我根本没工作。当我打开文件时,收到消息“ Permission denied
”后,它仍然为我提供了文件中的信息。 (所有其他功能均正常工作。)
def readBlockchain(blockchainFilePath, mode = 'internal'):
get_lock.acquire()
print("readBlockchain is called")
importedBlockchain = []
try:
with open(blockchainFilePath, 'r', newline='') as file:
blockReader = csv.reader(file)
for line in blockReader:
block = Block(line[0], line[1], line[2], line[3], line[4], line[5],line[6])
importedBlockchain.append(block)
print("Pulling blockchain from csv...")
get_lock.release()
return importedBlockchain
except:
if mode == 'internal':
blockchain = generateGenesisBlock()
importedBlockchain.append(blockchain)
writeBlockchain(importedBlockchain)
get_lock.release()
return importedBlockchain
else:
get_lock.release()
return None
如果我已经打开csv文件,我希望它不会被读取,而在我关闭文件后,它会被读取。
我期待您的答复! 谢谢。