• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > Python文件和目录操作详解

Python文件和目录操作详解

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了python开发技术详解,python os模块详解,python正则表达式详解,python 字典详解,python类详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、文件的打开和创建

1、打开
open(file,mode):

>>>fo = open('test.txt', 'r')
>>>fo.read()
'hello\n'
>>>fo.close()
file(file,mode):

>>>f = file('test.txt', 'r')
>>>f.read()
'hello\n'
>>>f.close()
</div>
mode可取值:

2、创建

用w/w+/a/a+模式打开即可。

二、文件的读取
1、String = FileObject.read([size])
>>> fr = open('test.txt')
>>> fr.read()
'hello\nworld\n'
</div>
or:
>>> for i in open('test.txt'):
...     print i
...
hello

world
</div>
2、String = FileObject.readline([size])
>>> f = open('test.txt')
>>> f.readline()
'hello\n'
>>> f.readline()
'world\n'
>>> f.readline()
''
</div>
或者可以用next

3、List = FileObject.readlines([size])
>>> f = open('test.txt')
>>> f.readlines()
['hello\n', 'world\n']
</div>

三、文件的写入

1、write(string)

>>> f = open('test.txt', 'a')
>>> f.write('hello\nworld')

#'hello\nworld'
</div>

2、writelines(list)

>>> l = ['a','b','c']
>>> f=open('test.txt','a')
>>> f.writelines(l)

#'hello\nworldabc'
</div>
注:writelines相当于调用了多次write,不会自动添加换行(\n)符

四、内容查找替换

1、FileObject.seek(offset, mode)

offset:偏移量

mode:
0表示将文件指针指向从文件头部到“偏移量”字节处,
1表示将文件指针指向从文件当前位置向后移动“偏移量”字节,
2表示将文件指针指向从文件尾部向前移动“偏移量”字节。

>>> f=open('test.txt')
>>> f.read()
'hello\nworldabc'
>>> f.read()
''
>>> f.seek(0,0)
>>> f.read()
'hello\nworldabc'
>>> f.close()
</div>

2、flush:提交更新,即在文件关闭之前把内存中的内容强制写入文件(一般是文件关闭后写入)

3、文件查找:遍历行进行查找
#!/usr/bin/python
import re

search='hello world'
file='test.txt'
count = 0
f = open(file)
for l in f.readlines():
    li = re.findall(search,l)
    if len(li) > 0:
        count += len(li)
print "Search " + str(count) + " \"" + search + "\""
f.close()
</div>

4、文件内容替换:遍历行进行替换

替换到新文件demo:
#!/usr/bin/python

os='hello'
of='test.txt'

rs='ten'
rf='test2.txt'

ofh = open(of)
newl=[]
for l in ofh.readlines():
    nl = l.replace(os,rs)
    newl.append(nl)

rfh = open(rf,'w+')
rfh.writelines(newl)
ofh.close()
rfh.close()
</div>
替换到原文件demo:
[server@localserver file]$ cat test.txt
abc
hello
world
hello world
helloworld
hello hello world
[server@localserver file]$ cat fr.py
#!/usr/bin/python

os='hello'
file='test.txt'

rs='ten'

f = open(file, 'r+')
s=f.read()
f.seek(0,0)
f.close()
f = open(file, 'w+')
f.write(s.replace(os,rs))
f.close()
[server@localserver file] python fr.py
[server@localserver file]$ cat test.txt
abc
ten
world
ten world
tenworld
ten ten world
</div>

这里采用了重建文件的办法。

或用 fileinput 模块直接在原文件上修改:
#!/usr/bin/python
import fileinput

os='hello'
file='test.txt'

rs='ten'

for line in fileinput.input(file, inplace=True):
    print line.replace(os,rs).replace('\n','')
</div>
注意,这里删除了\n是因为print时会写入换行。

五、文件及目录操作

一般是借助OS模块实现

1、mkdir(path[,mode=0777]):创建目录,相当于mkdir
>>>import os
>>>os.mkdir('tt')
</div>
2、makedirs(name[, mode=511]):创建多级目录,相当于mkdir -p

3、rmdir(path):删除目录,相当于rm

4、removedirs(path):删除多级目录,相当于rm -rf

5、listdir(path):列出目录中文件和文件夹,相当于ls

6、getcwd():获取当前路径,相当于pwd

7、chdir(path):切换目录,相当于cd

8、rename(src, dst):重命名

9、shutil.copyfile(str,dst):复制文件(要引入shutil模块)

<

您可能想查找下面的文章:

  • python中OrderedDict的使用方法详解
  • Python中异常重试的解决方案详解
  • 详解python 字符串和日期之间转换 StringAndDate
  • Python 操作MySQL详解及实例
  • python中OrderedDict的使用方法详解
  • Python中异常重试的解决方案详解
  • 详解python 字符串和日期之间转换 StringAndDate
  • Python 操作MySQL详解及实例
  • Python 登录网站详解及实例
  • 详解Python中类的定义与使用

相关文章

  • 一个基于flask的web应用诞生 flask和mysql相连(4)
  • 如何准确判断请求是搜索引擎爬虫(蜘蛛)发出的请求
  • python类继承用法实例分析
  • 给Python的Django框架下搭建的BLOG添加RSS功能的教程
  • Python编程实现删除VC临时文件及Debug目录的方法
  • python脚本监控docker容器
  • 把项目从Python2.x移植到Python3.x的经验总结
  • Win7上搭建Cocos2d-x 3.1.1开发环境
  • 在Python的web框架中编写创建日志的程序的教程
  • Python 爬虫学习笔记之单线程爬虫

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 深入讲解Python编程中的字符串
    • python time模块用法实例详解
    • Python多进程编程技术实例分析
    • Python实现SSH远程登陆,并执行命令的方法(分享)
    • 浅谈Python浅拷贝、深拷贝及引用机制
    • jupyter安装小结
    • python从网络读取图片并直接进行处理的方法
    • 小小聊天室Python代码实现
    • python基础教程之类class定义使用方法
    • Python正则表达式实现截取成对括号的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有