Windows下文件路径的分隔符是'\'反斜杠,文件路径也是一个字符串,牵扯到'\'在Python字符串中存在转义的情况,就对这个问题做一个探究。

Python字符串中要使用'\'时有两种方法:

  •   使用'\'转义,写法为'\\'。例如:"c:\\users\\xxx.txt"
  •   字符串前加r强制不转义,写法r'c:\users\xxx.txt'

Python中默认的是第一种方式,使用转义字符串来表示路径,比如os.getcwd()返回的当前目录的路径可以发现。当使用第二种方法时,python还是会把字符串转换为第一种结果。

涉及到路径的操作大多是路径的拼接和分割,好在Python已经为这些操作封装了函数,os.path.join(),os.path.split()。建议大家使用这些函数来完成分割和拼接操作,不要自己写,一不小心就出错了。

测试代码如下:

 >>> os.getcwd()
'C:\\Users\\xdy\\Desktop'
>>> f=open(os.getcwd()+r'\forher\out1.txt')
>>> f=open(os.getcwd()+'\forher\out1.txt')
Traceback (most recent call last):
File "<pyshell#21>", line 1, in <module>
f=open(os.getcwd()+'\forher\out1.txt')
IOError: [Errno 22] Invalid argument: 'C:\\Users\\xdy\\Desktop\x0corher\\out1.txt'
>>>
>>> os.path.join(os.getcwd(),'forher')
'C:\\Users\\xdy\\Desktop\\forher'
>>> os.path.sep
'\\'

Python路径总结的更多相关文章

  1. Mac Python路径总结

    Mac 下Python 可以多版本的并存,并且Python的目录也有好几个,不过总体来说,Mac 自带的有python 还是比较方便的 Mac 系统自带的又Python ,可能Python版本需要更新 ...

  2. Python开发环境Wing IDE设置Python路径详解

    在使用Wing IDE的时候,Python源代码取决于PYTHONPATH(无论是外部或通过内部改变sys.path系统设置),用户需要将路径设置到Wing IDE中. 这个值可以从项目菜单和工具栏的 ...

  3. python - 路径处理 和 模块导入

    # -*- coding:utf-8 -*- '''@project: jiaxy@author: Jimmy@file: study_模块导入.py@ide: PyCharm Community E ...

  4. pycharm怎么修改python路径

    今天安装Django的时候遇到了python版本冲突,找不到python路径,所以又重新安装了一个python3.6.5 安装完之后,突然发现自己的pycharm是之前Anaconda的3.5版本,那 ...

  5. python路径写入注册表,导入三方模块win32

    python在安装第三方模块时候,需要将python的路径写入注册表,否则会提示 'python version 3.8-32 required,which was not found in the ...

  6. 查找默认安装的python路径,并输出到 FindPythonPathX_output.txt

    在python程序设计教学中,在汉化IDEL时.为PyCharm项目设置解释器时,经常需要查找python安装路径.对老手来说很简单,但对很多刚开始学习编程的学生来说,则很困难.所以,编写了一个批处理 ...

  7. python路径函操作

    #判断是否为文件 os.path.isfile   #判断是否为目录 os.path.isdir   #返回文件名 os.path.basename(path)   #返回文件目录 os.path.d ...

  8. [Python]查看python路径以及安装包的路径

    特别是linux系统,装了多个python,有时候找不到python的绝对路径,有时候装了个django,又找不到django安装到哪里了..当然查看的方法有很多种,这里列出几种,供没有经验的人参考下 ...

  9. linux/cmd中python路径导入ModuleNotFoundError: No module named 'xxx'

    在linux或者直接在cmd中运行python文件时 会遇到导包错误的情况ModuleNotFoundError: No module named 'xxx’由于不在pycharm中 所以这里不能将上 ...

随机推荐

  1. MySQL数据库远程连接

    12.00 MySQL数据库远程连接 参考: http://www.jb51.net/article/24508.htm http://www.linuxdiyf.com/viewarticle.ph ...

  2. SharePoint 2013 开发——开发自定义操作APP

    博客地址:http://blog.csdn.net/FoxDave 自定义操作即我们所说的Ribbon和ECB(Edit Control Block),在SharePoint 2013之前,我们可以 ...

  3. Javascript 基础(二)

    一.js运算符: +.-.*./.% %(去模 就是计算两个数的余数,通常判断是否能整除),主要用于整数. var a=90; var b=8; if(a%b==0) window.alert(&qu ...

  4. MySQL表的增删改查和列的修改(二)

    一.使用Like模糊查找搜索前缀为以“exam_”开头的表名 show tables like 'exam_%' ; 语句结束符号是:也是用\G来表示 二.MySQL表的CRUD 2.1 创建表: C ...

  5. ZOJ 1654 - Place the Robots (二分图最大匹配)

    题意:在一个m*n的地图上,有空地,草和墙,其中空地和草能穿透攻击光线,而墙不能.每个机器人能够上下左右攻击,问在地图上最多能放多少个不互相攻击的机器人. 这个题和HDU 1045 -  Fire N ...

  6. 怎么在官网下载jstl【配图详解】

    JSTL(JSP Standard Tag Library,JSP标准标签库)是一个非常优秀的开源JSP标签库,如果要在系统使用JSTL标签,则必须将jstl.jar和 standard.jar文件放 ...

  7. IOS @2X.png

    [UIImage imageNamed:@"xxx.png"] 或者xib里iPhone4会自动找*@2x.png initWithContentOfFile:pathToImag ...

  8. 要学JavaScript!进来看吧,反正不花钱!~

    有一段时间没有更新自己的博客了,今天终于可以抽出时间和大家分享一下关于JavaScript了.有很多朋友在问我没有接触过会不会很难,不好理解 其实JavaScript的基本语法和Java的基本语法很相 ...

  9. 用C语言计算圆的面积~!!!!!!!

    #include <stdio.h>void main(){ int a,b,c,y,g,f; printf("圆柱底面的半径,圆柱的高"); scanf(" ...

  10. java学习第七天

    目标 1.  复合 2.  继承 3.  重写 4.  Super 5.  final 一.类与类的关系 参考: http://www.cnblogs.com/liuling/archive/2013 ...