详谈python在windows中的文件路径问题

yipeiwu_com6年前Python基础

在使用python通过open()函数来打开文件的时候,传递绝对路径给open()的时候,发现路径参数的内容与想象中的有所出入:

由于windows的路径分隔符使用的是反斜杠\,它刚刚好是转义字符,故可能发生冲突

# 错误示范:反斜杠似乎被解释为转义字符而不是分隔字符
path = '''F:\Python\test.txt'''    
path = '''F:\\Python\test.txt'''

"""以下三种方式都是可行的"""
path = '''F:\Python\\test.txt'''
path = '''F:\\Python\\test.txt'''
path = '''F:\Python\\test.txt'''    
'''绝对路径的最后一个反斜杠使用了双反斜杠时就正常'''
'''原因是最后一个反斜杠可以与它紧挨着的字符t构成转义效果'''

结论:使用绝对路径的时候,要注意在绝对路径中使用的反斜杠与它后面紧跟着的字符会不会构成转义效果,如果会产生转义效果,如\t \n \r等等,则必须使用双反斜杠来取消单反斜杠的转义效果。如果产生了转义字符带来的错误,会出现open()提示 "Invalid arguments"

以上这篇详谈python在windows中的文件路径问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

django中使用Celery 布式任务队列过程详解

django中使用Celery 布式任务队列过程详解

本文记录django中如何使用celery完成异步任务。 Celery 是一个简单、灵活且可靠的,处理大量消息的分布式系统,并且提供维护这样一个系统的必需工具。 它是一个专注于实时处理的...

Python 稀疏矩阵-sparse 存储和转换

Python 稀疏矩阵-sparse 存储和转换

稀疏矩阵-sparsep from scipy import sparse 稀疏矩阵的储存形式 在科学与工程领域中求解线性模型时经常出现许多大型的矩阵,这些矩阵中大部分的元素都为0...

Python从数据库读取大量数据批量写入文件的方法

使用机器学习训练数据时,如果数据量较大可能我们不能够一次性将数据加载进内存,这时我们需要将数据进行预处理,分批次加载进内存。 下面是代码作用是将数据从数据库读取出来分批次写入txt文本文...

python中pytest收集用例规则与运行指定用例详解

前言 上篇文章相信大家已经了解了pytest在cmd下结合各种命令行参数如何运行测试用例,并输出我们想要看到的信息。那么今天会讲解一下pytest是如何收集我们写好的用例?我们又有哪些...

Python传递参数的多种方式(小结)

一 位置传递 没什么好过多讲解. # 位置传递实例: def fun1(a,b,c): return a+b+c print(fun1(1,2,3)) 输出: 6...