• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

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

武飞扬头像
-berry
帮助2

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判断 名字
如果出现了空格 或者 换行 就替换成别的字符之类的

**

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhffackg
系列文章
更多 icon
同类精品
更多 icon
继续加载