栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中文件保存时,出现OSError:[Errno 22] Invalid argument解决办法

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中文件保存时,出现OSError:[Errno 22] Invalid argument解决办法

1代码执行后报错内容:

2这类问题归结就是对文件中字符串的处理(换行‘n’、空格‘ ’、回车‘r’的处理) 3目的是:将字符串类型数据的多行数据,合并为一行,进行输出来用
  1. 去除空格的几种形式
" abc ".strip() 
"    abc    ".lstrip() 
"    abc    ".rstrip() 
"    a  b  c    ".replace(' ','') 

  1. .strip() 只能够去除字符串首尾的空格,不能够去除中间的空格
str='    如果你突然打了n' 
    ' 个喷嚏n' 
    '     那一定是我n' 
    '在想n' 
    '     你       '
print(str)
print("="*50)
print(str.strip())#.strip() 只能够去除字符串首尾的空格,不能够去除中间的空格

我们可以看到第一行的空格已经被去除了!

  1. .replace(’ ', ‘’) 将字符串中的空格’ ‘进行替换,替换为’‘
#.replace(' ', '') 将字符串中的空格’ ‘进行替换,替换为’‘,也就是两个单引号,里面什么都没有,就相当于把字符串进行一个自动缩进
print(str.replace(' ',''))

如图可以看到字符串中的所有的空格都被‘’替换了,相当于被顶格或者缩进了!

  1. .replace(‘n’, ‘’) 去除换行
# .replace('n', '') 去除换行
print(str.replace(' ','').replace('n',''))

现在我们把换行去掉了,可以看到原本拆开的数据被合并为了一行数据!

  1. 加入‘r’即回车的字符串,有时候会导致输出,得不到自己想要的结果,如何处理?
str='    如果你突然打了n' 
    ' 个喷嚏n' 
    '     那一定是我' 
    '王心凌r'
    '在想n' 
    '     你       '
print(str)
print("="*50)
print(str.replace(' ','').replace('n',''))

原因是: r 代表回车,也就是打印头归位,之前清空,从下一行的开头开始。 而n代表换行,跳到下一行开头
处理方法如下:

str='    如果你突然打了n' 
    ' 个喷嚏n' 
    '     那一定是我' 
    '王心凌r'
    '在想n' 
    '     你       '
print(str)
print("="*50)
print(str.replace(' ','').replace('n','').replace('r',''))

**

综上:也就是一行代码:print(str.replace(' ','').replace('n','').replace('r','')),重点是理解怎么处理的 其他解决办法:比如if判断 名字
如果出现了空格 或者 换行 就替换成别的字符之类的

**

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1008373.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号