Python中的左斜杠、右斜杠(正斜杠和反斜杠)
首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows
(一)目录中的斜杠们
python读文件需要输入的目录参数,列出以下例子:
path = r"C:\Windows\temp\readme.txt"
path1 = r"c:\windows\temp\readme.txt"
path2 = "c:\\windows\\temp\\readme.txt"
path3 = "c:/windows/temp/readme.txt"
打开文件函数open()中的参数可以是path也可以是path1、path2、path3。
path:"\"为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的"\t"、"\r" 进行字符串转义
path1:大小写不影响windows定位到文件
path2:用一个"\"取消第二个"\"的特殊转义作用,即为"\\"
path3:用正斜杠做目录分隔符也可以转到对应目录,并且在python中path3的方式也省去了反斜杠\转义的烦恼
(二)正则表达式中的斜杠们
正则表达式匹配反斜杠"\",为什么是"\\\\"或是 r"\\"呢?
因为在正则表达式中\为特殊符号,为了取消它在正则表达式中的特殊意义需要加一个\就变成了\\,但是问题又来了,\也是字符串中的特殊字符,所以又要分别对两个\取消其特殊意义,即为\\\\。Python中有一个原始字符串操作符,用于那些字符串中出现特殊字符,在原始字符串中,没有转义字符和不能打印的字符。这样就可以取消了\在字符串中的转义功能,即r"\\"。
from PIL import Imagepil_im = Image.open(r'D:\test_picture\3.jpg')
pil_im = Image.open(r'd:\test_picture\3.jpg')
pil_im = Image.open('D:\\test_picture\\3.jpg')
pil_im = Image.open('D:/test_picture/3.jpg')#pil_im = Image.open('D:\test_picture\3.jpg')#报错,地址解析有误pil_im.show()
在编码和日常工作学习中,常常会用到正斜杠’/‘和反斜杠’’,有时候我会弄混,索性今天就来系统的记录它们的作用和区别:
历史来源
设计了这种路径分隔法,它使用斜杠:/。由于网络是首先应用在 UNIX 计算机之间的,至今为止,一半以上的网络服务器仍是使用 UNIX 操作系统,所以网址也沿用了斜杠作路径分隔符。
DOS 2.0
从 UNIX 中借鉴了这种目录结构,但由于 DOS 中,斜杠已经用来作为命令行参数的标志了(UNIX 中用的是“ - ”符),所以只得使用反斜杠:\
Windows 时代
很多时候已经没有命令行参数的干扰,加上网络使用的扩展,现在斜杠和反斜杠大多时候可以互换,没有什么影响。
使用要点
在unix系统中,正斜杠/表示目录。由于web遵循unix命名,所以在网址(URL)中,/表示目录。
在windows系统中,正斜杠/通常用来分割命令行参数,用\表示目录。
windows本地路径用\,如C:\windows\system32。
注意事项
Python中的左斜杠、右斜杠(正斜杠和反斜杠)相关推荐
- Oracle中的左连接与右连接
Oracle中的左连接与右连接 在Oracle PL-SQL中,左连接和右连接以如下方式来实现 查看如下语句: SELECT emp_name, dept_name FORM Employee, D ...
- 详解C++中地左值、右值和移动
左值持久,右值短暂 C++ primer中提到过:当一个对象被用作右值时用的是对象的值(内容),当对象被用做左值时用的是对象的身份(在内存中的位置) [ p r i m e r ] ^{[primer ...
- 理解C和C++中的左值和右值
翻译至https://eli.thegreenplace.net/2011/12/15/understanding-lvalues-and-rvalues-in-c-and-c/ C/C++编程中不是 ...
- C++中的左值和右值
左右值的概念 C++中左值(lvalue)和右值(rvalue)在C++11后变得尤为重要,是理解 move.forward等新语义的基础. 左值和右值这两个概念是从C中传承过来的. 左值指的是:既能 ...
- C++ 中的左值和右值
C++ 中的左值和右值 简介 <C++ Primer>中左值和右值的描述如下: C++ 的表达式要不然是右值(rvalue,读作"are-value"),要不然就是左值 ...
- matlab怎么输入斜杠,如何实现Matlab的mldivide(又称反斜杠运算符“ \”)
对于x = A\b,反斜杠运算符包含许多算法来处理不同种类的输入矩阵.因此,对矩阵A进行诊断,并根据其特性选择执行路径. 以下页面以伪代码描述何时A为完整矩阵: if size(A,1) == siz ...
- php 目录斜杠 不同服务器,PHP_PHP在引号前面添加反斜杠(PHP去除反斜杠),一般空间商提供的服务器空间 - phpStudy...
PHP在引号前面添加反斜杠(PHP去除反斜杠) 一般空间商提供的服务器空间默认PHP 指令 magic_quotes_gpc是on的,也就是打开的.这时候就可以用stripslashes() 函数删除 ...
- c++中的左值与右值
转载自 http://www.cnblogs.com/catch/p/3500678.html 左值 (lvalue)和右值 (rvalue) 是 c/c++ 中一个比较晦涩基础的概念,有的人可能甚至 ...
- c 表达式必须是可修改的左值_C++中的左值,右值,左值引用,右值引用
童帅 2020-2-22 文中的"表达式"都是指赋值表达式 左值,右值,左值引用,右值引用 到底是什么 左值和右值 int a = 10; int b = 5; int c = a ...
最新文章
- 转载--httpclient原理和应用
- Oracle Events事件
- 环境/---Liunx环境安装
- 【Node】node.js实现服务器的反向代理,解决跨域问题
- 云炬WEB开发教程2-2 node.js和npm介绍和安装
- Java银行开户,取钱,存钱,查询余额,退出。。。。。
- 敏捷结果30天之第十二天:效率角色-你是启动者还是完成者
- View requires API level 14 (current min is 8): GridLayout
- dicom传图像故障
- java range注解_最全的Java Spring注解
- 暴风一号病毒(1kb病毒),U盘只剩快捷方式,文件消失
- 数据中心建筑设计及功能区布局的注意事项
- DXGI抓屏优化扩展:GPU硬件编码保存文件即录像为MP4和FLV,外加麦克风+计算机声音
- Vue项目使用v-drag实现拖拽功能
- java available_关于InputStream类的available()方法
- 解决virtualbox导入虚拟机报错E_INVALIDARG (0x80070057)问题
- 视频号怎么赚钱?视频号有什么功能?
- 同元软控助力复杂系统数字孪生落地应用
- flume+kafka整合采集数据案例
- AppScan 是一款web安全扫描工具