“在Python中处理路径斜杠问题”的版本间的差异

来自YTYZX有图有真相的百科
跳转至: 导航搜索
(创建页面,内容为“ 微软Windows系统在文件夹名称间使用反斜杠(\),其他操作系统均使用正斜杠(/),在Python中可以使用以下方法处理。 用Pyt...”)
 
 
第1行: 第1行:
 
  微软Windows系统在文件夹名称间使用反斜杠(\),其他操作系统均使用正斜杠(/),在Python中可以使用以下方法处理。
 
  微软Windows系统在文件夹名称间使用反斜杠(\),其他操作系统均使用正斜杠(/),在Python中可以使用以下方法处理。
 +
 
  用Python读取文件时,'\'是Python的转义字符,如果路径中存在'\t'或者'\r'这样的特殊字符,'\'就无法起到目录跳转的作用,从而报错。解决办法如下:
 
  用Python读取文件时,'\'是Python的转义字符,如果路径中存在'\t'或者'\r'这样的特殊字符,'\'就无法起到目录跳转的作用,从而报错。解决办法如下:
 +
 
  例如要读取C盘temp目录下的ytyzx.txt这个文本文件。
 
  例如要读取C盘temp目录下的ytyzx.txt这个文本文件。
 
  path0 = c:\temp\ytyzx.txt 将报错,因为Python认为c:后面的\t是制表符。
 
  path0 = c:\temp\ytyzx.txt 将报错,因为Python认为c:后面的\t是制表符。
  报错信息类似下面:handle = open(OSError: [Errno 22] Invalid argument: 'c:\temp\\ytyzx.txt'
+
      报错信息类似下面:handle = open(OSError: [Errno 22] Invalid argument: 'c:\temp\\ytyzx.txt'
 +
 
 
  正确写法如下:
 
  正确写法如下:
 
  path = r"C:\temp\ytyzx.txt"    # 在前面加上字母r,则视为通知Python,后面的内容为原始字符串,不对“\t”,“\r”等进行字符串转义。
 
  path = r"C:\temp\ytyzx.txt"    # 在前面加上字母r,则视为通知Python,后面的内容为原始字符串,不对“\t”,“\r”等进行字符串转义。
第9行: 第12行:
 
  path2 = "c:\\temp\ytyzx.txt"    # 在temp前面再加一个反斜杠(\),即用第一个斜杠取消第二个斜杠的转义功能。
 
  path2 = "c:\\temp\ytyzx.txt"    # 在temp前面再加一个反斜杠(\),即用第一个斜杠取消第二个斜杠的转义功能。
 
  path3 = "c:/temp/ytyzx.txt"    # 在反斜杠(\)替换为正斜杠(/)。
 
  path3 = "c:/temp/ytyzx.txt"    # 在反斜杠(\)替换为正斜杠(/)。
 
打开文件函数open()中的参数可以是path也可以是path1、path2、path3。
 

2022年1月22日 (六) 15:45的最新版本

微软Windows系统在文件夹名称间使用反斜杠(\),其他操作系统均使用正斜杠(/),在Python中可以使用以下方法处理。
用Python读取文件时,'\'是Python的转义字符,如果路径中存在'\t'或者'\r'这样的特殊字符,'\'就无法起到目录跳转的作用,从而报错。解决办法如下:
例如要读取C盘temp目录下的ytyzx.txt这个文本文件。
path0 = c:\temp\ytyzx.txt 将报错,因为Python认为c:后面的\t是制表符。
     报错信息类似下面:handle = open(OSError: [Errno 22] Invalid argument: 'c:\temp\\ytyzx.txt'
正确写法如下:
path = r"C:\temp\ytyzx.txt"     # 在前面加上字母r,则视为通知Python,后面的内容为原始字符串,不对“\t”,“\r”等进行字符串转义。
path1 = r"c:\temp\ytyzx.txt"    # Windows系统大小写不敏感。
path2 = "c:\\temp\ytyzx.txt"    # 在temp前面再加一个反斜杠(\),即用第一个斜杠取消第二个斜杠的转义功能。
path3 = "c:/temp/ytyzx.txt"     # 在反斜杠(\)替换为正斜杠(/)。