pathlib PurePosixPath

Tim Golden mail at timgolden.me.uk
Tue Oct 10 05:22:30 EDT 2017


On 2017-10-10 08:29, Chris Angelico wrote:
> On Tue, Oct 10, 2017 at 6:21 PM, Sayth Renshaw <flebber.crue at gmail.com> 
> wrote:
>> Hi
>> 
>> How do I create a valid file name and directory with pathlib?
>> 
>> When I create it using PurePosixPath I end up with an OSError due to 
>> an obvously invlaid path being created.
> 
> You're on Windows. The rules for POSIX paths don't apply to your file
> system, and...
> 
>> OSError: [Errno 22] Invalid argument: 
>> 'C:\\Users\\Sayth\\Projects\\results/Warwick 
>> Farm2017-09-06T00:00:00.json'
> 
> ... the colon is invalid on Windows file systems. You'll have to
> replace those with something else.

I haven't followed closely, so this may well not be an issue here, but 
the colon is valid on a Windows file system; it introduces an alternate 
data stream:

https://msdn.microsoft.com/en-us/library/windows/desktop/aa364404(v=vs.85).aspx

So this is perfectly valid on Windows:

with open("temp.txt:abc", "w") as f:
     f.write("abc")


TJG



More information about the Python-list mailing list