I want my program to be able to write files in a sequential format, ie: file1.txt, file2.txt, file3.txt. It is only meant to write a single file upon execution of the code. It can't overwrite any existing files, and it MUST be created. I'm stumped.
解决方案
Two choices:
Counter File.
Check the directory.
Counter File.
with open("thecounter.data","r") as counter:
count= int( counter.read() )
count += 1
Each time you create a new file, you also rewrite the counter file with the
appropriate number. Very, very fast. However, it's theoretically possible to
get the two out of synch. in the event of a crash.
You can also make the counter file slightly smarter by making it a small piece of
Python code.
settings= {}
execfile( "thecounter.py", settings )
count = settings['count']
Then, when you update the file, you write a little piece of Python code: count = someNumber. You can add comments and other markers to this file to simplify your bookkeeping.
Check the directory.
import os
def numbers( path ):
for filename in os.listdir(path):
name, _ = os.path.splitext()
yield int(name[4:])
count = max( numbers( '/path/to/files' ) )
count += 1
Slower. Never has a synchronization problem.