Python中的文件操作

1、文件的打开与关闭

想一想:如果想用word编写一份简历,应该有哪些流程呢?

1、打开word软件,新建一个word文件

2、写入个人简历信息

3、保存文件

4、关闭word软件

同样,在操作文件的整体过程与使用word编写一份简历的过程是很相似的 (io操作)

1、打开文件,或者新建立一个文件

2、读/写数据

3、关闭文件

<1>打开文件

示例如下:

f = open(r'd:ataest.txt', 'w')

<2>关闭文件

close( )

示例如下:

# 新建一个文件,文件名为:

test.txt f = open('test.txt', 'w') # 关闭这个文件f.close()

2、文件的读写

<1>写数据(write)

使用write()可以完成向文件写入数据

demo:

f = open('test.txt', 'w') f.write('hello world, i am here!') f.close()

注意:如果文件不存在那么创建,如果存在那么就先清空,然后写入数据

<2>读数据(read)

使用read(num)可以从文件中读取数据,num表示要从文件中读取的数据的长度(单位是字节),如果没有传入num,那么就表示读取文件中所有的数据

demo:

f = open('test.txt', 'r')content = f.read(1024)print(content)print("-"*30)content = f.read()print(content)f.close()

注意:如果open是打开一个文件,那么可以不用谢打开的模式,即只写 open('test.txt'),如果使用读了多次,那么后面读取的数据是从上次读完后的位置开始的

<3>读数据(readlines)

就像read没有参数时一样,readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素

#coding=utf-8f = open('test.txt', 'r')content = f.readlines()print(type(content))i=1for temp in content:print("%d:%s"%(i, temp))i+=1f.close()

<4>读数据(readline)

#coding=utf-8f = open('test.txt', 'r')content = f.readline()print("1:%s"%content)content = f.readline()print("2:%s"%content)f.close()

3、文件的定位读写

<1>获取当前读写的位置tell

在读写文件的过程中,如果想知道当前的位置,可以使用tell()来获取

# 打开一个已经存在的文件

f = open("test.txt", "r")str = f.read(3)print"读取的数据是 : ", str

# 查找当前位置

position = f.tell()print"当前文件位置 : ", positionstr = f.read(3)print"读取的数据是 : ", str

# 查找当前位置

position = f.tell()print"当前文件位置 : ", positionf.close()

<2>定位到某个位置

如果在读写文件的过程中,需要从另外一个位置进行操作的话,可以使用seek()

seek(offset, from)有2个参数

offset:偏移量

from:方向

0:表示文件开头

1:表示当前位置

2:表示文件末尾

demo:把位置设置为:从文件开头,偏移5个字节

# 打开一个已经存在的文件# 查找当前位置position = f.tell()print"当前文件位置 : ", position# 重新设置位置f.seek(5,0)# 查找当前位置position = f.tell()print"当前文件位置 : ", positionf.close()demo:把位置设置为:离文件末尾,3字节处# 打开一个已经存在的文件f = open("test.txt", "r")# 查找当前位置position = f.tell()print"当前文件位置 : ", position# 重新设置位置f.seek(-3,2)# 读取到的数据为:文件最后3个字节数据str = f.read()print"读取的数据是 : ",str f.close()

4、文件的相关操作

有些时候,需要对文件进行重命名、删除等操作,python的os模块中都有这么功能

import os

python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令

1. os.name()——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'

rename(需要修改的文件名, 新的文件名) 也可以做剪切。

2. os.getcwd()——得到当前工作的目录。

3. os.listdir()——指定所有目录下所有的文件和目录名。

  以列表的形式全部列举出来,其中没有区分目录和文件。

4. os.remove()——删除指定文件

5. os.rmdir()——删除指定目录 :该目录不能为空

6. os.mkdir()——创建目录

注意:这样只能建立一层,要想递归建立可用:os.makedirs(x/y/z)

7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False

8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。例:

9. os.path.exists()——检验指定的对象是否存在。是True,否则False.例:

10. os.path.split()——返回路径的目录和文件名。

此处只是把前后两部分分开而已。就是找最后一个'/'。看

11. os.getcwd()——获得当前工作的目录(get current work dir)

12. os.system()——执行shell命令。

注意:此处运行shell命令时,如果要调用python之前的变量,可以用如下方式:

var=123os.environ['var']=str(var) //注意此处[]内得是 “字符串”os.system('echo $var')

13. os.chdir()——改变目录到指定目录

14. os.path.getsize()——获得文件的大小,如果为目录,返回0

15. os.path.abspath()——获得绝对路径。例:

16. os.path.join(path, name)——连接目录和文件名。例:

17.os.path.basename(path)——返回文件名

18. os.path.dirname(path)——返回文件所在目录

c++ windows获得当前工作目录文件_基于linux下Python文件操作相关推荐

  1. linux压缩文件的类型,linux下压缩文件的类型(转)

    linux下压缩文件的类型(转) (2012-03-08 16:18:30) 标签: 杂谈 Linux下有相当多的压缩命令,初学的我们开始总是摸不清头脑,我们知道在Linux下的后缀名是没有什么很特殊 ...

  2. linux下查看文件的权限,Linux下查看文件权限、修改文件权限的方法

    查看权限命令查看目录的相关权限可以采用命令ls -lD,或者直接用ls -la 如 ls -l www.jb51.net  //这里表示查看www.jb51.net目录 修改权限命令 chmod 77 ...

  3. linux core文件默认位置,linux下core文件

    linux下core文件 参考:http://www.cnblogs.com/li-hao/archive/2011/09/25/2190278.html 并整合其他参考资料 在程序不寻常退出时,内核 ...

  4. linux 文件权限 rwt,Linux下修改文件权限(所有权)

    Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要:每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other) 用户(u)是文件的 ...

  5. find linux 目录深度_把 Linux 上的文件列表和排序玩出花来

    Linux 命令可以提供文件的详细信息,也可以自定义显示的文件列表,甚至可以深入到文件系统的目录中,只要你愿意看. • 来源:linux.cn • 作者:Sandra Henry-stocker • ...

  6. linux文件被覆盖如何恢复_在Linux下误删文件后恢复

    1.给虚拟主机添加一块磁盘,磁盘为/dev/sdb,如下: 2.格式化磁盘,并进行挂载 # mkfs.ext4 /dev/sdb # mkdir /usr/local/dbdata/ # mount ...

  7. python文件调用python文件_自己写的python文件如何相互调用

    自己写的python文件如何相互调用?Python中的模块库十分常用,对于常用的模块可以自己动手自定义,但是如何进行调用呢? 模块相互调用 同级目录调用时的两种方法import module prin ...

  8. dump文件_零基础编程——Python文件、JSON数据存储

    摘要 书接前文: 01-<零基础编程--起步并搭建Python环境> 02-<零基础编程--变量与数据类型> 03-<零基础编程--Python循环.函数.类> 教 ...

  9. linux中.log文件是什么,linux 下log文件夹简介

    以下介绍的是20个位于/var/log/ 目录之下的日志文件.其中一些只有特定版本采用,如dpkg.log只能在基于Debian的系统中看到. /var/log/messages - 包括整体系统信息 ...

最新文章

  1. php 点击选择图片上传,快速实现PHP图片上传和预览
  2. 2016年工作中遇到的问题31-40
  3. Python科学计算包应用-教你以可视化的方式打开NumPy
  4. 丑憨批的vector笔记
  5. WebSocket连接里客户端和服务器端的Socket ID
  6. vue项目开发实战案例_Vue、Spring Boot开发小而完整的Web前后端分离项目实战02
  7. eclipse或Myeclipse中web项目没有run on server时怎么办?
  8. SQL Server 函数的使用(数学函数)
  9. window操作大全
  10. 开源html5游戏-少年行
  11. 经济数据预测 | Python实现ELM极限学习机股票价格时间序列预测
  12. 问卷设计与统计分析——常用的量表
  13. 利用水晶报表打印数据表格
  14. 神经网络训练集和测试集,神经网络验证集作用
  15. 【NLP】文本数据分析文本特征处理文本数据增强
  16. 如何用django来创建一个网站
  17. 腾讯云音视频互动课堂trtc,实现逻辑,服务端混流逻辑
  18. 异步FIFO格雷码及同步相关问题?
  19. 2021年金属非金属矿山安全检查(露天矿山)考试技巧及模拟考试题
  20. RSA的运用和前后端签名的一些看法

热门文章

  1. android EditText 限定中文个数与英文个数的解决方式
  2. SQL Server中SELECT会真的阻塞SELECT吗?
  3. Python函数中的参数(一)
  4. 无法嵌入互操作类型...请改用适用的接口 解决办法
  5. CSS入门-五个简单,但有用的CSS属性
  6. 解决了一个遗留的Portlet奇怪问题
  7. ubuntu使用相关
  8. 高性能Mysql主从架构的复制原理及配置详解
  9. ASP.NET中绑定枚举类型
  10. 如何最大限度提高.NET的性能