无法命名包含特殊字符的文件[duplicate]

hrirmatl  于 2022-10-30  发布在  Python
关注(0)|答案(1)|浏览(176)

此问题在此处已有答案

What characters are forbidden in Windows and Linux directory names?(19个答案)
10天前关闭。
我想命名一个包含特殊字符的文件,但在尝试这样做时出现错误

with open('My filename: one | two.txt', 'a') as f:
    f.write('something')

并得到以下错误:
OSError: [Errno 22] Invalid argument: 'My filename: one | two.txt'
如何命名包含特殊字符的文件?

hkmswyz6

hkmswyz61#

这取决于操作系统,但对于Microsoft来说,这些是文件名和竖线(|)就是其中之一。
https://learn.microsoft.com/en-us/windows/win32/fileio/naming-a-file开始:
使用当前代码页中的任何字符作为名称,包括Unicode字符和扩展字符集(128-255)中的字符,但下列字符除外:

  • 下列保留字符:
  • 〈(小于)
  • 〉(大于)
  • :(冒号)
  • “(双引号)
  • /(正斜扛)
  • \(反斜扛)
  • |(竖线或竖线)
  • ?(问号)
    • (星号)整数值零,有时称为ASCII NUL字符。
  • 整数表示法介于1到31之间的字符,但允许使用这些字符的替代数据流除外。如需有关档案流的详细信息,请参阅档案流。
  • 目标文件系统不允许的任何其他字符。

相关问题