Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 27 additions & 3 deletions counter.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
""" A program that stores and updates a counter using a Python pickle file"""

from os.path import exists
import sys
from pickle import dump, load
import os
import pickle

def update_counter(file_name, reset=False):
""" Updates a counter stored in the file 'file_name'
Expand All @@ -29,7 +29,31 @@ def update_counter(file_name, reset=False):
>>> update_counter('blah2.txt')
2
"""
pass
if os.path.exists(file_name) == False:
f = open(file_name, 'w')
counter = 1
pickle.dump(counter, f)
f.close
return counter

elif os.path.exists(file_name) == True:
if reset == True:
f = open(file_name, 'w')
counter = 1
pickle.dump(counter, f)
f.close
return counter

else:
f = open(file_name, 'r+')
counter = pickle.load(f)
counter += 1
f.seek(0,0)
pickle.dump(counter, f)
f.close
return counter

print counter

if __name__ == '__main__':
if len(sys.argv) < 2:
Expand Down