猿问

Python如何优雅的处理文件路径里的英文问号?

  1. 用python的open函数时 参数文件路径里存在英文问号时会报错“Invalid argument”
  2. 在stackoverflow上问了下,有大佬告诉我“Install linux. Or something else that isn't Windows. Alternatively, accept the fact that a file name can't contain a question mark.(安装linux。 或者其他不是Windows的系统。 或者,接受文件名不能包含问号的事实。)”
  3. 目前解决办法是 把英文问号替换成了中文问号,但是感觉不够优雅,如果再有别的我还不知道的不允许使用的字符呢?大家有更好的处理办法吗?

报错的代码片段如下:

    savePath = "E:\\Desktop\\output\\?.html"
    file = open(savePath, 'wb')

报错信息如下:

Traceback (most recent call last):
  File "Main.py", line 35, in <module>
    crawler.testSaveContent("E:\\Desktop\\output\\?.html")
  File "E:\Desktop\MyCrawler.py", line 77, in testSaveContent
    file = open(savePath, 'wb')
OSError: [Errno 22] Invalid argument: 'E:\\Desktop\\output\\?.html'

python版本:3.6.3
操作系统:win10

子衿沉夜
浏览 597回答 1
1回答

浮云间

操作系统说不能用就是不能用,只能换别的,至于文件名中不允许的符号列表可以去翻对应操作系统的文档,当然一般搜一搜就有了,至于Windows你可以重命名一个文件,然后输入英文问号,立刻就会提示你哪些字符不可用于文件命名。
随时随地看视频慕课网APP

相关分类

Python
我要回答