On Tue, Oct 10, 2017 at 8:22 PM, Tim Golden <m...@timgolden.me.uk> wrote: > On 2017-10-10 08:29, Chris Angelico wrote: >> >> On Tue, Oct 10, 2017 at 6:21 PM, Sayth Renshaw <flebber.c...@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")
Have you tested that? My understanding of the document you linked to is that the colon still has special meaning, and thus you can't use it in arbitrary file names. (Now, if the question were "can I ever see a colon in a file name", then you'd be correct to use this as proof that you can; but trying to use a file name such as the OP's is not thus proven.) And no, I haven't tested my theory on this either. Any Windows guinea pigs want to give this a try? ChrisA -- https://mail.python.org/mailman/listinfo/python-list