subney 发表于 2021-7-19 14:48

python去除文件名中非法的字符

在网上扒文件,保存到本地的时候,保存的文件名总会莫名奇妙的断掉,原来是windows不接受某些特殊字符。
用python写了一个小方法,清洗掉非法字符

```
import re

def clean_file_name(filename:str):
    invalid_chars='[\\\/:*?"<>|]'
    replace_char='-'
    return re.sub(invalid_chars,replace_char,filename)

test=r'abc\d/s:f*s?df"fs<d>sd|ef'
print(clean_file_name(test))
#abc-d-s-f-s-df-fs-d-sd-ef
```

另外,文件名最长256个字符。
还有,python创建文件时,即使文件名非法也能创建成功,但是会舍弃非法字符以及后续的字符。

飘零星夜 发表于 2021-7-19 15:06

重复发帖了 ,楼主

subney 发表于 2021-7-19 18:51

飘零星夜 发表于 2021-7-19 15:06
重复发帖了 ,楼主

什么情况,显示被删帖了,竟然还能看得到?
页: [1]
查看完整版本: python去除文件名中非法的字符