如何处理以Python结尾的文件名?根据MSDN的网站,这样的文件名在Windows中是有效的,但每当我尝试用Python创建一个文件名时,它就会删除最后一段时间。我甚至尝试使用os.open创建一个原始文件描述符,但它仍然会删除句点。
例如,这将创建一个名为“test
”
os.open('test.', os.O_CREAT | os.O_WRONLY, 0777)
关于文件名和目录中的空格和点。限制是 在Windows shell中 - 不在Windows或NT中。使用'bash',你可以 在开头和结尾创建包含空格(或点)的文件 文件名。然后,您可以在资源管理器中列出并打开这些文件 你可以在shell(cmd.exe)中“列出”它们,但不一定如此 能够从外壳打开它们(特别是尾随空格和 点)。
答案 0 :(得分:6)
我想出了如何做到这一点。显然,即使直接从C调用Win API,传递普通文件名也会删除句点。为了创建奇怪的文件名,您必须使用\\?\
前缀(这也会禁用相对路径和斜杠转换)。
open('\\\\?\\C:\\whatever\\test.','w')
它很丑陋且不便携,但它有效。
答案 1 :(得分:4)
\\?\
语法也适用于cmd.exe
:
dir>"\\?\C:\whatever\test."
答案 2 :(得分:0)
Windows将删除最后的尾随句点,假设它是文件名和空白扩展名之间的分隔符。尝试使用两个句点。