import binascii import nfc import os import gspread import time gspread_client = gspread.service_account(filename="./spreadsheet-test-369006-6804cf990530.json") spread_sheet = gspread_client.open("nasubi") ws = spread_sheet.get_worksheet(3) class MyCardReader(object): def readnfc(): cr = MyCardReader() #最初に表示 print("Please Touch") #タッチ待ち cr.read_id() #リリース時の処理 print("【 Released 】") def on_connect(self, tag): #タッチ時の処理 print("【 Touched 】") #タグ情報を全て表示 print(tag) #IDmのみ取得して表示 self.idm = binascii.hexlify(tag._nfcid) print("IDm : " + str(self.idm)) ws.update_acell('H6', str(self.idm)) #特定のIDmだった場合のアクション if self.idm == "00000000000000": print("【 登録されたIDです 】") return True def read_id(self): clf = nfc.ContactlessFrontend('usb') try: clf.connect(rdwr={'on-connect': self.on_connect}) finally: clf.close() if __name__ == '__main__': while(1): cr = MyCardReader() #最初に表示 print("Please Touch") #タッチ待ち cr.read_id() #リリース時の処理 print("【 Released 】") time.sleep(1.5)