由此可见,“\”是转义字符,它能够将第2个“\”从转义字符转回普通字符,从而“\n”就不再起到换行符的作用。

这样操作虽然简单,但是遇到下方这个路径,看起来就会有些麻烦!

path = 'D:\new_project\test\nt\files\data'

如果想正常使用这个路径,我们需要加上多个“\”。

path = 'D:\\new_project\\test\\nt\\files\\data'

实际上,这样的路径我们可以将它转换为原始字符串,转换方法是在字符串之前写一个“r”。

path = r'D:\new_project\test\nt\files\data'

这样,我们就无须添加多个“\”,也能够正常使用这个路径。

不过,有的时候,我们使用的路径需要是“\”结尾。

例如:D:\new_project\test\nt\files\data\

这时要注意,原始字符串不能以“\”结尾,否则会抛出异常。

另外,也不能通过转义字符转换最后的“\”,程序会在路径末尾原样输出两个“\”。

示例代码:(错误示例)

path = r'D:\new_project\test\nt\files\data\' # 提示异常
path = r'D:\new_project\test\nt\files\data\\' # 末尾保持原样

当我们遇到这种需求时,我们需要对末尾的“\”单独进行转义处理,并和前面的字符串连接。

示例代码:(正确示例)

path = r'D:\new_project\test\nt\files\data''\\'
print (path)

上面的代码,大家可以看到是两部分字符串并排在一起,这种书写方法是符合规则的,程序会自动把多个并列的字符串连接到一起。

Python 函数系列 - Str对path的处理的更多相关文章

  1. Python 函数系列- Str

    Str函数的一些有趣的用法 str = '1234567890' print(str[:]) #取全部字符串 print(str[2]) #取下标是2的字符 -- 3 print(str[:3]) # ...

  2. Python函数系列之eval()

    1.作用:将字符串str当成有效的表达式来求值并返回计算结果. 2.语法:eval(source[, globals[, locals]])  3.说明:参数:source:一个Python表达式或函 ...

  3. Python函数系列-迭代器,生成器

    一 迭代器 一 迭代的概念 #迭代器即迭代的工具,那什么是迭代呢?#迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值 while True: #只是单纯地重复,因而不 ...

  4. python函数系列之sorted()

    一. 有时候需要对List.Dict进行排序 二.用法:sorted(iterable, cmp=None, key=None, reverse=False) 三.参数说明: iterable:是可迭 ...

  5. Python函数系列-Random

    import random i = int(input('输入第一个数:')) j = int(input('输入第二个数:')) l = int(input('输入需要产生的个数:')) k=0 w ...

  6. Python函数系列-一个简单的生成器的例子

    def consumer(): while True: x = yield print('处理了数据:',x) def producer(): pass c = consumer() #构建一个生成器 ...

  7. Python常用功能函数系列总结(一)

    本节目录 常用函数一:获取指定文件夹内所有文件 常用函数二:文件合并 常用函数三:将文件按时间划分 常用函数四:数据去重 写在前面 写代码也有很长时间了,总觉得应该做点什么有价值的事情,写代码初始阶段 ...

  8. (原创)Python字符串系列(1)——str对象

    在本博客 <Python字符串系列> 中,将介绍以下内容: Python内置的str对象及操作 字符串的格式化 Python中的正则表达式 re模块 本文将介绍Python内置的 str ...

  9. $python正则表达式系列(2)——re模块常用函数

    本文主要介绍正则re模块的常用函数. 1. 编译正则 import re p = re.compile(r'ab*') print '[Output]' print type(p) print p p ...

随机推荐

  1. 高可用rabbitmq集群服务部署步骤

    消息队列是非常基础的关键服务,为保证公司队列服务的高可用及负载均衡,现通过如下方式实现: RabbitMQ Cluster + Queue HA + Haproxy + Keepalived 3台ra ...

  2. 封装-python

    六 封装 从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有alex一起装进麻袋,然后把麻袋封上口子.但其实这种理解相当片面 首先我们要了解 回到顶部 6.1 要封装什么 你 ...

  3. C11线程管理:异步操作

    1.异步操作 C++11提供了异步操作相关的类,std::future.std::promise和std::package_task.std::future作为异步结果的传输通道,方便的获取线程函数的 ...

  4. laravel判断是否post传输

    可以用post传输判断form表单是否有值post传过来: if($request->isMethod('post')){ // 要执行的代码 }通过 Request 对象的 isMethod ...

  5. SMTP暴力破解

    这里实现一个SMTP的暴力破解程序,实验搭建的是postfix服务器,猜解用户名字典(user.txt)和密码字典(password.txt)中匹配的用户名密码对, 程序开发环境是: WinXP VC ...

  6. Xcode 获取本地IP

    // // // #define MAXADDRS 32 extern char *ip_names[MAXADDRS]; void InitAddresses(); void GetIPAddres ...

  7. android 自定义View属性

    在android开发过程中,用到系统的View时候可以通过XML来定义一些View的属性.比如ImageView:   android:src  和android:scaleType为ImageVie ...

  8. win10-idea2018

    下载jar JetbrainsCrack-2.9-release-enc.jar idea64.exe.vmpotions 配置 -javaagent:D:\devsoft\idea\bin\Jetb ...

  9. NASA: Seeing Jupiter(注视木星)

    This image of Jupiter’s southern hemisphere was captured by NASA’s Juno spacecraft on the outbound l ...

  10. Mac最新系统bssdb BUG

    这个bug在Mac OS更新到10.14时候出现,当前系统版本 ➜ git:(master) sw_vers ProductName: Mac OS X ProductVersion: 10.14 B ...