java程序员的python之路(文件操作)
来源:互联网 发布:java jvm 工作原理 编辑:程序博客网 时间:2024/06/11 00:34
模式
使用open方法来打开一个文件,可以使用适当的模式打开一个文件,比如读,写,追加等。常见模式如下:
读取文件内容
我们新建一个文本文件,在其中随意输入几行内容,然后写代码读取这个文件的内容。
test.txt文件内容如下:
aaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbb
ccccc
ddddddddddddddddddd
eeeeeeeeeeeeeeeeeeeeeee
读取文件内容代码如下:
file = open("C:\\Users\\Administrator\\Desktop\\qqqq.txt","r+")s = file.read()print(s)file.close()
read方法,会读取文件所有的内容,执行输出如下:
aaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbcccccdddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeee
我们也可以一行一行的读取文件,如下:
file = open("C:\\Users\\Administrator\\Desktop\\test.txt","r+")s = file.readline()while s != "": print(s,end="") s = file.readline()file.close()
还有更简单的方法,像下面这样:
file = open("C:\\Users\\Administrator\\Desktop\\test.txt","r+")for line in file: print(line,end="")file.close()
输出结果完全一致。
写文件
使用write方法,可以把内容写入到文件。需要注意的就是,文件对象的当前位置,也就是也就是从文件开始到当前位置的字节数,可以使用tell函数来获得这个位置,代码如下:
file = open("C:\\Users\\Administrator\\Desktop\\test.txt","w+")print(file.tell())
输出如下:
0
可以看到,打开一个文件,位置处于0的位置,也就是说,我们现在如果向文件中写入内容,就会从0的位置开始写。如果0的位置有数据,那么就会别覆盖。如果不想被覆盖,而是要追加内容,就需要指定文件位置到文件末尾,使用seek方法。seek方法介绍:
- seek(x,0) : 从起始位置即文件首行首字符开始移动 x 个字符
- seek(x,1) : 表示从当前位置往后移动x个字符
seek(-x,2):表示从文件的结尾往前移动x个字符
追加内容,代码如下:
file = open("C:\\Users\\Administrator\\Desktop\\test.txt","r+")file.seek(0,2)file.write("fffff\n")
打开文件,可以看到,内容已经追加到文件的末尾。我们也可以直接使用a(追加)模式直接写入内容,像下面这样:
file = open("C:\\Users\\Administrator\\Desktop\\test.txt","a")file.write("fffff\n")
文件的读写就简单的介绍这些,其他的模式可以自行尝试。
os模块
os 模块提供了非常丰富的方法用来处理文件和目录,下面我们就用一个例子来介绍一下os模块的使用,这个例子就找出一个目录下(包括子目录)所有的excel文件,代码如下:
#导入os模块import ospath = "E:\\gamesrc\\Server\\resource"def findAllExcel(path): #listdir,目录下所有文件 files = os.listdir(path) for filename in files: #得到文件的绝对目录 filepath = os.path.join(path,filename) #文件是否一个目录 if os.path.isdir(filepath): findAllExcel(filepath) else: #文件是否Excel文件 if filename.endswith("xlsx"): print(filepath)findAllExcel(path)
输出结果如下:
E:\gamesrc\Server\resource\solider\soliderEvolution.xlsxE:\gamesrc\Server\resource\solider\soliderExchange.xlsxE:\gamesrc\Server\resource\solider\soliderExplain.xlsxE:\gamesrc\Server\resource\solider\soliderRecruit.xlsxE:\gamesrc\Server\resource\solider\soliderShop.xlsxE:\gamesrc\Server\resource\solider\soliderUpgrade.xlsxE:\gamesrc\Server\resource\string.xlsxE:\gamesrc\Server\resource\template\mail.xlsxE:\gamesrc\Server\resource\title\title.xlsxE:\gamesrc\Server\resource\trade\TradeAuction.xlsxE:\gamesrc\Server\resource\trade\TradeShop.xlsxE:\gamesrc\Server\resource\union\boss\unionboss.xlsxE:\gamesrc\Server\resource\union\union.xlsxE:\gamesrc\Server\resource\union\unionLanguage.xlsxE:\gamesrc\Server\resource\vip\vipConfig.xlsx.........
这里用到几个常用的方法,os还有很多方法可用,比如修改文件权限,创建文件和目录等等的操作。为了简单起见,就不一一列举了。
- java程序员的python之路(文件操作)
- java程序员的python之路(数据类型)
- java程序员的python之路(函数)
- java程序员的python之路(面向对象)
- java程序员的python之路(模块)
- java程序员的python之路(异常)
- java程序员的python之路(线程)
- java程序员的python之路(mongodb)
- java程序员的python之路(mongodb高级查询)
- python 学习之路(文件操作)
- python之文件操作
- python之文件操作
- python 之文件操作
- python 之文件操作
- python之文件操作
- Python之文件操作
- python之文件操作
- python之文件操作
- 工业设计原则
- aop的xml文件配置
- 微信小程序开发入门
- Python2.7中的super方法浅见
- C语言实验——计算表达式
- java程序员的python之路(文件操作)
- Kafka在Windows安装运行
- 使用-markdown编辑器
- 在sublime text中设置某种扩展名文件的默认语法
- 海思Hi3516A开发板SDK H.265/H.264 CVBS 1080P60帧高清
- Struts2 的 struts.xml 配置中 namespace 的使用
- hbase性能调优
- 【cqoi2001】 分金币 自己做题时的一点思路
- 对抗女巫的魔法碎片(multiset排序 杭电排位赛-6)