#!/usr/bin/env python3
import sys
import os
import re
import csv
import pprint
import fcntl
DEBUG_MODE = False
def read_csv(csv_file):
"""parse csv file to dict"""
if(DEBUG_MODE):print("CSV file (read):" + csv_file)
if(os.access(csv_file,os.F_OK|os.R_OK)): # exist and readable
csv_f = open(csv_file)
fcntl.flock(csv_f,fcnt.LOCK_EX) # lock file
reader = csv.reader(csv_f)
csv_list = list(reader)
fcntl.flock(csv_f,fcnt.LOCK_UN) # unlock file
csv_f.close();
else:
print("ERROR:%s not exist or unreadable" % (csv_file))
csv_list = {};
return csv_list
if(DEBUG_MODE): pprint.pprint(csv_list)
return csv_list
def write_csv(csv_file,csv_list):
"""write dict to csv file """
if(DEBUG_MODE):print("CSV file (write):" + csv_file)
if(os.access(csv_file,os.F_OK|os.W_OK)): # exist and writeable
csv_f = open(csv_file,'w')
fcntl.flock(csv_f,fcnt.LOCK_EX) # lock file
writer = csv.writer(csv_f)
writer.writerows(csv_list)
fcntl.flock(csv_f,fcnt.LOCK_UN) # unlock file
csv_f.close();
else:
print("ERROR:%s not exist or unreadable" % (csv_file))
return False
return True
def main():
CSV_FILE = "a.csv"
csv_list_read = read_csv(CSV_FILE)
csv_list_read[0][0] = "bt"
write_csv(CSV_FILE,csv_list_read)
if __name__ == '__main__':
main()