python 文件对象不仅可以访问普通磁盘文件,也可以访问抽象层面上的文件对象(例如URL地址)

  打开文件open() file()功能一致可以任意替代

fp = open('/etc/test.txt', 'r')    #以只读方式打开
fp = open('test.txt', 'w') #以写方式打开
fp = open('data.txt', 'r+') #以读写方式打开
fp = open(r'c:\io.sys', 'rb') #以二进制只读方式打开

输入:

tp.read(size)        #从文件中读取size个字节,默认size是-1表示读取所有内容
tp.readline() #每次只读一行
tp.readlines() #读取指针所在位置后的所有信息

输出:

fp.write('test test')

文件内移动

seek(-12,1)        #在当前位置向前移动12个字符
#-12 负号指向前移动 1表示当前位置 0表示文件开始 2表示文件结尾
#使用前需要使用tell()返回当前文件中的位置
#例子
f = open('test.txt','w+')
print f.tell()
f.write('text line 1\n')
print f.tell()
f.write('test line 2\n')
print f.tell()
f.seek(-13,1)
print f.tell()
f.write('test line 3\n')
print f.tell()
f.seek(-13,1)
print f.tell()

对文件进行操作完后一定要记得关闭文件fp.close()

os.stat      查看文件信息

os.utime   更新时间戳

In [22]: import sys , os              #导入sys os模块

In [23]: st = os.stat('test.txt')         #查看test.txt文件信息

In [24]: print st                  #打印文件信息
nt.stat_result(st_mode=33206, st_ino=0L, st_dev=0L, st_nlink=0, st_uid=0, st_gid
=0, st_size=26L, st_atime=1497092960L, st_mtime=1497094979L, st_ctime=1497092960
L) In [25]: print 'test.txt的访问时间:%s' % st.st_atime
test.txt的访问时间:1497092960.56 In [26]: print 'test.txt的修改时间:%s' % st.st_mtime
test.txt的修改时间:1497094979.38 In [27]: os.utime('test.txt',(1330712280,1330712292))    #更新test.txt时间戳

创建临时文件对象

tmpfile()

In [31]: tmpfile = os.tmpfile()            #创建一个临时文件对象

In [32]: tmpfile.write('临时文件创建成功了')    #在文件中写入一句话
In [33]: tmpfile.seek(0)               #将文件指针移到文件开始 In [34]: print tmpfile.read()            #读取文件信息
临时文件创建成功了 In [35]: tmpfile.close()              #关闭文件

生成一个目录树下的所有文件名

walk()

os.walk()遍历文件和目录

import os
for root , dirs , files in os.walk('.',topdown=True):
print root
print dirs
print files
for name in files:
print(os.path.join(root,name))
for name in dirs:
print(os.path.join(root,name)) 输出结果:

.
['.idea', 'ABC', 'BCD']
['filename.py', 'log.log', 'tell.py', 'test.txt', 'walk.py', 'write.py']
.\filename.py
.\log.log
.\tell.py
.\test.txt
.\walk.py
.\write.py
.\.idea
.\ABC
.\BCD
.\.idea
[]
['misc.xml', 'modules.xml', 'untitled.iml', 'workspace.xml']
.\.idea\misc.xml
.\.idea\modules.xml
.\.idea\untitled.iml
.\.idea\workspace.xml
.\ABC
[]
[]
.\BCD
[]
[]

Process finished with exit code 0

目录和文件夹

In [1]: import os

In [2]: os.getcwd()
Out[2]: 'C:\\Users\\Administrator\\PycharmProjects\\untitled' In [3]: os.mkdir('BBB') In [4]: os.listdir('.')
Out[4]:
['.idea',
'ABC',
'BBB',
'BCD',
'filename.py',
'log.log',
'tell.py',
'test.txt',
'walk.py',
'write.py'] In [5]: os.rmdir('BBB') In [6]: os.chdir('c:/Users/') In [7]: os.getcwd()
Out[7]: 'c:\\Users'

os.path模块中的路径名访问函数

import os        #导入os模块
#去掉目录返回文件名
print os.path.basename('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#去掉文件名,返回路径
print os.path.dirname('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#将各部分拼接成一个路径
print os.path.join('c:\\','dir','abc')
#返回路径和文件名
print os.path.split('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#返回盘符和文件路径
print os.path.splitdrive('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#返回文件名字和扩展名
print os.path.splitext('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#返回最近访问时间
print os.path.getatime('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#返回创建时间
print os.path.getctime('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#返回修改时间
print os.path.getmtime('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#返回文件大小(以字节为单位)
print os.path.getsize('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#判断指定文件或目录是否存在
print os.path.exists('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#判断指定路径是否为绝对路径
print os.path.isabs('C:/Users/Administrator/PycharmProjects/untitled/walk1.py')
#判断指定路径是否为一个目录
print os.path.isdir('C:/Users/Administrator/PycharmProjects/untitled/')
#判断指定路径是否是文件
print os.path.isfile('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#判断指定路径是否是一个链接
print os.path.islink('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#判断指定路径是否是一个挂载点
print os.path.ismount('C:/Users/Administrator/PycharmProjects/untitled/walk.py')
#判断两个路径是否指向同一个文件
print os.path.samefile('C:/Users/Administrator/PycharmProjects/untitled/walk.py','C:/Users/Administrator/PycharmProjects/untitled/walk.py')

输出结果:

walk.py
C:/Users/Administrator/PycharmProjects/untitled
c:\dir\abc
('C:/Users/Administrator/PycharmProjects/untitled', 'walk.py')
('C:', '/Users/Administrator/PycharmProjects/untitled/walk.py')
('C:/Users/Administrator/PycharmProjects/untitled/walk', '.py')

1497103691.58
1497101112.35
1497103691.58
240

True
True
True
True
False
False

    

python 002 文件输入输出的更多相关文章

  1. python 中文件输入输出及os模块对文件系统的操作

    整理了一下python 中文件的输入输出及主要介绍一些os模块中对文件系统的操作. 文件输入输出 1.内建函数open(file_name,文件打开模式,通用换行符支持),打开文件返回文件对象. 2. ...

  2. Python的文件输入输出,如何追加内容,读取内容,添加内容

    python主要的文件打开的几种访问模式 模式可以为读模式('r').写模式('w')或追加模式('a'),当然还有rb.wb.ab.r+.w+.a+.rb+.wb+.ab+,然而实际从代码上我也没看 ...

  3. Python之文件输入输出,

      文件输入与输出 • 打开文件返回文件对象 – file_object=open(file_name,access_mode='r') • 关闭文件对象 – file_object.close() ...

  4. Python基础-输入输出(IO)

    Python基础-输入输出(IO) 程序会有输入和输出,输入可以从标准输入或是从一个文件读入数据,程序的输出可以以一种友好可读的方式(human-readable)打印出来,或是写进一个文件,而标准输 ...

  5. Python操作文件-20181121

    Python操作文件 Python操作文件和其他语言一样,操作的过程无非是先定位找到文件.打开文件,然后对文件进行操作,操作完成后关闭文件即可. 文件操作方式:对文件进行操作,主要就是读.写的方式,p ...

  6. 用 Python 实现文件查找

    用 Python 实现文件查找(BIF实现及队列实现) (1)利用内置函数实现文件查找 1.功能:返回用户输入的文件的绝对路径 2.设计思路: (1)用户输入在哪个盘进行查找 (2)遍历此盘文件,若为 ...

  7. Python读写文件

    Python读写文件1.open使用open打开文件后一定要记得调用文件对象的close()方法.比如可以用try/finally语句来确保最后能关闭文件. file_object = open('t ...

  8. python计算文件的md5值

    前言 最近要开发一个基于python的合并文件夹/目录的程序,本来的想法是基于修改时间的比较,即判断文件有没有改变,比较两个文件的修改时间即可.这个想法在windows的pc端下测试没有问题. 但是当 ...

  9. python操作文件案例二则

    前言 python 对于文件及文件夹的操作. 涉及到 遍历文件夹下所有文件 ,文件的读写和操作 等等. 代码一 作用:查找文件夹下(包括子文件夹)下所有文件的名字,找出 名字中含有中文或者空格的文件 ...

随机推荐

  1. Offer收割_5

    训练 投入 欲望.  ---贾森博尔特 第一题:二分枚举答案,check时候模拟一下即可. 时间复杂度: O(n*logn). 第二题: 描述 小Hi在虚拟世界中有一只小宠物小P.小P有K种属性,每种 ...

  2. [转]如何借助 TLS/SSL 确保套接字连接的安全(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用)

    本文转自:http://msdn.microsoft.com/zh-cn/library/windows/apps/jj150597.aspx 本主题将展示在使用 StreamSocket 功能时,如 ...

  3. Spring Cloud (8) 服务容错保护-Hystrix依赖隔离

    依赖隔离 docker使用舱壁模式来实现进程的隔离,使容器与容器之间不会互相影响.而Hystrix则使用该模式实现线程池的隔离,它会为每一个Hystrix命令创建一个独立的线程池,这样就算在某个Hys ...

  4. js-消息对话框

    最近在某技术网站学习一些js(JavaScript)的课程,将笔记分享一下 消息对话框1. **alert **消息对话框,输出内容,可以是字符串或变量,与document.write 相似   va ...

  5. angular 零碎

    相关链接 api(需要FQ) ui-router 知乎 作用域 angular 中作用域的概念是一个亮点,由不同的指令.controller等作用域组成的作用域树就是一个app.简单理解一个contr ...

  6. ZipMarket数字内容/素材交易网站源码项目

    ZipMarket程序仿自Envato旗下网站,对于想创建数字内容/素材交易平台的站长来说,ZipMarket是一个十分独特和极具创新的解决方案,用户在你的网站注册并购买或出售数字内容/素材作品时,你 ...

  7. ProE常用曲线方程:Python Matplotlib 版本代码(玫瑰曲线)

    Pyplot教程:https://matplotlib.org/gallery/index.html#pyplots-examples 玫瑰曲线 文字描述 平面内,围绕某一中心点平均分布整数个正弦花瓣 ...

  8. S3C2440时钟体系

    注:以下内容学习于韦东山老师arm裸机第一期视频教程 一. 2440时钟简介 1.1 2440是一个SOC(system on chip)系统,不仅有很多CPU,还有很多外设,在2440芯片手册有系统 ...

  9. 洛谷——P3906 Geodetic集合

    P3906 Geodetic集合 题目描述 图G是一个无向连通图,没有自环,并且两点之间至多只有一条边.我们定义顶点v,u最短路径就是从v到u经过边最少的路径.所有包含在v-u的最短路径上的顶点被称为 ...

  10. Luogu P1256 显示图像

    P1256 显示图像 题目描述 古老的显示屏是由N×M个像素(Pixel)点组成的.一个像素点的位置是根据所在行数和列数决定的.例如P(2,1)表示第2行第1列的像素点.那时候,屏幕只能显示黑与白两种 ...