我写了一段 python 爬虫小程序,在 mac os 下可以正常保存文件,但是 win 下面保存出错,具体代码如下: xl.save(path_1 + '/'+str(name_exl) + '.xlsx') 错误提示:
OSError: [Errno 22] Invalid argument: 'C:/Users/Justin Ye/Desktop/2020-02-29 16:15:08.xlsx'
google 了下,应该是\和 /的问题,
我把代码修改为:
xl.save(path_1 + '\'+str(name_exl) + '.xlsx') 还是不行,
其中 path_1 是用户在图形界面选择的文件保存路径,
请大神告知下处理办法,万分感谢啊
1
Jblue 2020-02-29 16:24:23 +08:00
os.path.join()
|
2
justincnn OP @Jblue 谢谢,感觉应该就是 os 可以解决,但是我修改为; xl.save(os.path.join(path_1, '/' , str(name_exl) , '.xlsx'))
跳错的内容改为:OSError: [Errno 22] Invalid argument: 'C:/2020-02-29 16:35:46\\.xlsx' 可以告知下:应该如何用 os.path.join()修改,刚开始学 win 的 python,谢谢啊。 |
3
TimePPT 2020-02-29 16:40:30 +08:00
试试用 pathlib,跨平台时候好用
https://docs.python.org/3/library/pathlib.html |
4
xiri 2020-02-29 17:04:18 +08:00
windows 文件、文件夹名不能包含:的
|
6
renmu 2020-02-29 17:13:54 +08:00 via Android
4 楼正解
|
7
itskingname 2020-02-29 17:31:18 +08:00 via iPhone
xl.save(os.path.join(path_1, str(name_exl) + '.xlsx'))
|
8
ClericPy 2020-02-29 17:32:47 +08:00
re.sub(r'[^ \w]+', '_', name).strip()
|
9
lonewolfakela 2020-02-29 18:15:11 +08:00
@xiri 准确来讲,文件名部分可以有一个冒号(但是不能像楼主一样用两个)。不过我估计很多人都不会注意到一个冒号会产生什么神奇的效果就是了。
具体可以参考 https://winaero.com/blog/alternative-ntfs-streams-in-windows-10/ |
11
ipwx 2020-02-29 18:35:10 +08:00
windows 文件名不能用冒号。
|