python文件操作
首先提到一个重要问题,python中,对路径的要求比较严格,windows下一定要是//,多一个或者少一个/都不行。在这个地方错几次了,我在想这个为什么是个问题呢?都这个年代了,所以说不定可以设置什么,只是我没找到。我是直接字符串赋值给的路径,比如indir='E://data//test//test.jpg'。是不是有函数可以直接把一个字符串转成path,这样就不限制有几个/了?
转自:http://blog.sina.com.cn/s/blog_5ee7254801013zu7.html
在python程序里面我们经常需要对文件进行操作,Windows下的文件目录路径使用反斜杠“\”来分隔。但是,和大多数语言一样,Python代码里面,反斜杠“\”是转义符,例如“\n”表示回车、“\t”表示制表符等等。这样,如果继续用windows习惯使用“\”表示文件路径,就会产生歧义。
例如:“c:\test.txt”这表示c盘根目录下的一个文件,还是表示一个字符串呢?因为“\t”也可以解释为制表符。如果让我们人来判断,这当然是一个很简单的问题。但是机器就无法做出正确的判断了,只有没有歧义的代码机器才会正确执行。
解决办法,采用下面任何一种书写形式均可:
- 使用斜杠“/”:
"c:/test.txt"
… 不用反斜杠就没法产生歧义了
- 将反斜杠符号转义:
"
c:\\test.txt
"… 因为反斜杠是转义符,所以两个"\\"就表示一个反斜杠符号
- 使用Python的raw string:
r"c:\test.txt" … python下在字符串前面加上字母r,表示后面是一个原始字符串
raw string,不过raw string主要是为正则表达式而不是windows路径设计的,所以这种做法尽量少用,可能会出问题。
////////////////////////////////////////////////
python实现文件的copy
import shutil
shutil.copy(sourceDir, targetDir)
python删除文件可以用os模块的remove方法, 例如:
import os os.remove('/file/path/to/delete')
如果要把整个文件夹删掉,需要使用shutil模块的rmtree方法:
import shutil
shutil.rmtree('/dir/to/delete')
python用户手册上详细介绍了怎么读文件效率最佳。
for line in open('file.txt'):
print line
读文件的方式很多,但是这是最效率的,赞。最近看rbg的代码,大部分都是这种方式,同时还结合with as,还是要赞叹,rbg的代码绝对是不亚于其科研实力啊。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人