Why Can't I Delete a File I Created with Win XP?
W. eWatson
wolftracks at invalid.com
Sat Dec 5 10:46:38 EST 2009
The program code is not mine, but I wanted to modify it to produce an
Analysis folder when the user wants histogram file, basically, a txt
file to appear in Analysis.
Elsewhere in the program this is done for another type of data that is
directed to an Events folder. I figured I could copy the code from there
and use it here. Here's other code for Events.
# He's building a time stamp for the file name.
# I'll use this with a slight modification to the name in
# my code
millisecs = int((event_time - int(event_time))*100)
s = "v%4d%02d%02d_%02d%02d%02d.%02d.dat" % (
t.tm_year, t.tm_mon, t.tm_mday,
t.tm_hour, t.tm_min, t.tm_sec, millisecs )
#OK, he's got the file name assembled
s = os.path.join("Events",s)
if not os.path.exists("Events"):
os.mkdir("Events")
f = file( s, "wb" )
if not f:
self.LogError( "File creation error 1" )
return False
I caused the redundancy by just changing the meaning of s with a new
statement below it. I should have commented the first one out. Yeah, I
probably screwed up here and should have and,for purposes of debugging,
just used another file name like s="ADATAFILE2009_mmdd.txt", which does
not exist at this point of the coding stage. So I should have produced
Analysis\ADATAFILE2009_mmdd.txt. If I had done that then I would have
ended up with an empty file in the Analysis folder. However, even at
that, why can't I delete this empty file called Analysis?
When I said I was able to get rid of the "file", it's probably because I
had rebooted at some time after I puzzled over the problem, and now OS
somehow released it's grip, that is, whatever process was trying to use
the "file" too.
John Machin wrote:
> On Dec 5, 9:57 pm, "W. eWatson" <wolftra... at invalid.com> wrote:
> [snip]
>> s = self.current_path
> s referred to something ...
>> s = "Analysis"
> but now s refers to "Analysis" ... at best, there is redundant &
> confusing code; at worst, the source of your problem.
>
>> s = os.path.join("Analysis",s)
> and now s refers to r"Analysis\Analysis" (on your platform)
>> print "s joined ",s <------------- debug print
>
> [snip]
>
>> There is no file created, just the folders Analysis\Analysis. One too
>> many. The second Analysis shows as an icon for a file of size 0KB.
>>
>> I printed with the debug print above:
>> Path for Histogram Events\v20070206_055012.06.dat
>> s joined
>> Analysis\Analysis should only be Analysis.
>
> Huh?? s = os.path.join("fubar", "fubar") should produce r"fubar
> \fubar" (as documented) ... If you don't want s to refer to r"Analysis
> \Analysis", then quite simply don't do that!
>
More information about the Python-list
mailing list