如何在Windows中创建具有尾随句点的文件名?

Ant*_*ony 8 c python windows filenames

如何使用以Python结尾的文件名?根据MSDN的网站,这样的文件名在Windows中是有效的,但每当我尝试用Python创建一个文件名时,它就会删除最后一段时间.我甚至尝试用os.open创建一个原始文件描述符,但它仍然删除了句点.

例如,这将创建一个名为' test' 的文件

os.open('test.', os.O_CREAT | os.O_WRONLY, 0777)
Run Code Online (Sandbox Code Playgroud)

编辑:这是确切的报价

关于文件名和目录中的空格和点.限制在Windows shell中 - 不在Windows或NT中.使用'bash',您可以在文件名的开头和结尾创建带空格(或点)的文件.然后,您可以在资源管理器中列出并打开这些文件,并且可以在shell(cmd.exe)中"列出"它们,但是您不一定能够从shell中打开它们(尤其是尾随空格和点).

Mic*_*ter 7

\\?\语法还与cmd.exe

dir>"\\?\C:\whatever\test."
Run Code Online (Sandbox Code Playgroud)


Ant*_*ony 6

我想出了如何做到这一点.显然,即使直接从C调用Win API,传递正常文件名也会删除句点.为了创建奇怪的文件名,您必须使用\\?\前缀(这也会禁用相对路径和斜杠转换).

open('\\\\?\\C:\\whatever\\test.','w')
Run Code Online (Sandbox Code Playgroud)

这是丑陋和不便携,但它的工作原理.