文件对象

  1. 创建文本文件
  2. 想文件中追加文本
  3. 读取文本内容
  4. 文件异常

路径和目录 —-os简介




文件对象

1.创建文本文件

def make_file():f = open("test.txt", "w")f.write("Hello World")f.close()

这段代码创建了一个test.txt的文件,并表明是写的属性(默认是读的属性),并写入了Hello World的字段,这个文件的位置要看你的工作路径,如果使用是python自带的那个编译器,创建的文件一般是在
C://Python34 (这里是因为我的版本是3.4的),如果是使用的pycharm,则就在你的项目的下面。因为这里注明了是使用的写的属性,如果这个文件不存在的话就会创建一个新的文件,如果存在的话会把原来的删除然后创建一个新的文件。

下面这种方法可以判断一个文件是存在:

import os
def make_file():if os.path,isfile("test.txt"):print("file are already exists!")else:f = open("test.txt", "w")f.write("Hello World")f.close() 

这里使用os.path.isfile来判断这个文件是否存在,然后创建这个文件

2.向文件中追加数据
这里向文件中追加数据其实是很简单的,只要修改open第二个参数的属性就可以实现,使用a这个属性就行了:

def add_file:a = open("test,txt", "a")a.write("我是第二行")a.close()

这里修改第二个属性可以实现很多的有趣的功能,下面展示的是源码里面的注释部分:
========= ===============================================================
Character Meaning
——— —————————————————————
‘r’ open for reading (default)
‘w’ open for writing, truncating the file first
‘x’ create a new file and open it for writing
‘a’ open for writing, appending to the end of the file if it exists
‘b’ binary mode
‘t’ text mode (default)
‘+’ open a disk file for updating (reading and writing)
‘U’ universal newline mode (deprecated)
========= ===============================================================

翻译过来:
‘r’ 打开文件为只读模式(默认的模式)
‘w’ 打开文件为写模式,会首先删除原来的文件
‘x’ 创建一个新的文件,并且打开这个文件为写模式
‘a’ 打开文件为写模式,如果文件存在,会把数据追加到文件的末尾
‘b’ 二进制模式
‘t’ 文本模式(默认)
‘+’ 打开硬盘中的一个文件进行读写
‘U’ 通用的换行模式(不建议使用)

3.读取文件内容

def read_file():f = open("test.txt", "r")print(f.readline())f.close()

这个是读取文件中的一行的内容,读取的时候遇到“\n”结束

.

def read_file():f = open("test.txt", "r")text = f.read()print(text)f.close()

这个是读取文件中的全部的内容,打印出来的包含文件里面原来的格式

.

def print_line_lenght():f =open("test.txt", "r")text = f.readlines()for line in text:print(len(line))

使用这个方法可以把文件中数据以元组的形式返回,每一行数据变成了元组里面的一个元素,使用上面的代码,可以打印出来文件里面的每一行字符的多少



路径和目录—os简介

1.路径
这里推荐一篇博客,总结的挺全面的:python os.path模块常用方法详解

下面使用都是加上import os 代码的
os.path.join()
可以用来将目录名称组合成路径,里面的参数个数大于等于2个,同时使用多个参数的时候,最后一个绝对路径会覆盖前面的所有的路径:

print(os.path.join("Hello", "f:\\", "python\\", "temp"))

输出结果是:

f:\\python\\temp

这里主要辨析一下os.path.isfile() 、 os.path.isdir() 、 os.path.exists()
os.path.isfile():这个只是判断路径里面的的文件是否存在,存在文件的话返回True
os.path.isdir():这个只是判断路径里面的目录是否存在,目录存在就返回True
os.path.exists():这个是判断路径存在不存在,不区分是文件还是目录
下面是示例:

print(os.path.isfile("F:\\test_Python\\test.txt"))
print(os.path.isdir("F:\\test_Python\\test.txt"))
print(os.path.exists("F:\\test_Python\\test.txt"))

.打印的结果是:

True
False
True

这是另为一个示例:

print(os.path.isfile("F:\\test_Python"))
print(os.path.isdir("F:\\test_Python"))
print(os.path.exists("F:\\test_Python"))

打印的结果是:

False
True
True

通过这两个比较,就能看出来他们三个的不同了

2.目录
使用os.listdit()可以来获取目录里面的内容,比如说,我用print(os.listdir("c:\\")) 打印出来的是:

['$360Section', '$Recycle.Bin', '360SANDBOX', '360驱动大师目录', 'Boot', 'boot.ini', 'bootmgr', 'BOOTNXT', 'bootsqm.dat', 'Documents and Settings', 'DOCUME~1', 'Drcom', 'GHLDR', 'ghldr.mbr', 'hiberfil.sys', 'install.log', 'InstallConfig.ini', 'Intel', 'Keil', 'LJP1100_P1560_P1600_Full_Solution', 'log', 'log_network.txt', 'MSOCache', 'package', 'pagefile.sys', 'PerfLogs', 'Program Files', 'Program Files (x86)', 'ProgramData', 'Python34', 'QLDownload', 'QMDownload', 'Recovery', 'RECYCLER', 'swapfile.sys', 'SymCache', 'System Volume Information', 'Temp', 'Users', 'Windows', 'xmlrpc_error.log', 'YYFESOYKMV', '~1']

这是我C盘目录下面的所有的文件。使用sorted()来对生成的元组可以排序,默认是按字母的先后顺序来排的:print(sorted(os.listdir("c:\\"))) ,打印出来的结果就是排好顺序的元组。

使用这个方法,我们可以使用递归的方法对一个目录进行打印,可以把整个目录里面的文件都打印出来:

def print_tree(path):for name in os.listdir(path):full_path = os.path.join(path, name)print(full_path)if os.path.isdir(full_path):print_tree(full_path)

3.对目录的重命名、移动、复制、删除
下面的代码默认导入了import shutil
1.使用shutil.move()可以实现把一个文件移动到另外一个目录下面,或者使用这个为一个文件进行新的命名,例如:

shutil.move("old_file.txt", "C:\\data\\temp")

2.使用shutil.copy()可以实现把一个文件复制到一个新的目录下面,或者使用这个创建一个新的名称的文件,例如:

shutil.copy("old_file.txt", "C:\\data\\temp")

3.使用shutil.remove()来删除文件

os.remove("junk.txt")

注意:使用os.rename()也可以来进行重命名,但是使用这个方法没法进行文件的移动,所以一般并不使用这个方法。

4.删除和创建目录
1.创建一个虚拟的目录

os.mkdir("C:\\photo\\Hello\\temp")

但是如果C:\photo\Hello这个目录不存在的话,那么就会引发异常。这里建议使用os.makedirs() 这个方法可以创建多重的目录

2.删除目录

os.rmdir("C:\\photo\\Hello\\temp")

这个只能删除空的目录,上面的代码只会删除temp这个目录
使用shutil.rmtree("C:\\photo\\Hello\\temp") 可以直接删除该目录,不管目录下面有没有文件和子目录

python中对文件的操作总结相关推荐

  1. Python中有关文件的操作

    Python中有关文件的操作 1.文件路径的书写 import os #这里返回的值是字符串 path = os.path.join(root_dir,file_dir) 2.列出文件夹中的文件 im ...

  2. python中的文件读写操作

    python中的文件读写操作 思维导图 Python读写CSV文件 csv文件是什么? CSV(Comma Separated Values)全称逗号分隔值文件是一种简单.通用的文件格式,被广泛的应用 ...

  3. python 中的文件读写操作 and 例题

    一.概述 在文件的读写操作中,python是相对容易学的,python对文件进行操作只需要使用open()创建一个file流对象,用这个对象对文件进行读和写操作.open()有两个参数,一个是url是 ...

  4. Python中的文件IO操作(读写文件、追加文件)

    [注]:下述操作过程是结合多种网络方法,然后自己实践的结果.写在这里,主要目的是加深记忆,也希望能帮助后来者 Python中文件的读写包含三个步骤:打开文件,读/写文件,关闭文件. 文件打开之后必须关 ...

  5. python中对文件的操作_Python对文件操作知识

    这篇文章主要介绍了Python对文件操作知识汇总的相关资料,非常具有参考借鉴价值,需要的朋友可以参考下 打开文件 操作文件 1打开文件时,需要指定文件路径和打开方式 打开方式: r:只读 w:只写 a ...

  6. python操作目录_详解python中的文件与目录操作

    详解python中的文件与目录操作 一 获得当前路径 1.代码1 >>>import os >>>print('Current directory is ',os. ...

  7. python使用方法-在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

  8. python中对文件、文件夹(文件操作函数)的操作

    python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 返回指定目录下的所有文件和目 ...

  9. python中二进制文件_Python学习基础篇 -6: Python中的文件操作

    前言:本专栏以Python为主题,并尽可能保持每星期两到三更,直到将Python的基础知识浅析和讲解完毕,同时,有一定基础的同学可以移步 Python实战专栏 . 文件有有什么用 文件可以看作一个仓库 ...

  10. python脚本怎么使用_在Python中使用next()方法操作文件的教程

    next()方法当一个文件被用作迭代器,典型例子是在一个循环中被使用,next()方法被反复调用.此方法返回下一个输入行,或引发StopIteration异常EOF时被命中. 与其它文件的方法,如Re ...

最新文章

  1. android6.0升级名单,三星Android 6.0升级详细名单[多图]
  2. 简单算法题:leetcode-2 两数相加
  3. (char*)x C语言中的和*的详解
  4. MyEclipse中快捷键的使用
  5. sql server express 并发数的限制_阿里数据库性能诊断的利器——SQL执行干预
  6. HDU-1811 Rank of Tetris
  7. MySQL安装失败问题
  8. Linux环境下安装RocketMQ(MetaQ)
  9. 计算机系统结构安全检测,信息安全体系结构安全测评实验报告.doc
  10. 第1章 通信网概述作业
  11. mysql触发器编程_mysql之触发器trigger详解
  12. RabbitMQ安装及使用教程
  13. 33种名车的标志及名称来历
  14. Linux 配置Host
  15. ajax请求在ie浏览器上的兼容性问题
  16. 【资源】DNW驱动,Win7 64位可用
  17. IDEA在Mac下格式化代码快捷键
  18. android 横屏竖屏设置,Android中强制设置横屏与竖屏,与横竖屏生命周期的设置
  19. EMC测试仪器_新能源汽车EMC测试—HPK高压耦合器测试系统
  20. ML之prophet:利用prophet算法对维基百科页面的日志每日页面浏览量实现回归预测(时间序列的趋势/周季节性趋势/年季节性趋势)案例

热门文章

  1. python将png转换为ico
  2. 计算机专业找工作面试面经总结
  3. Java中ElasticSearch的各种查询(普通,模糊,前缀,高亮,聚合,范围)
  4. 华为服务器2288h修改u盘启动,华为服务器bios设置u盘启动
  5. 趣味记忆5大经典的软件架构风格
  6. Windows使用cwRsync实现服务器文件同步到Linux服务器
  7. GAMIT处理GLONASS数据
  8. 苹果电脑如何优化MAC系统内存?怎么清理系统垃圾?
  9. idea中MySQL数据库分页
  10. Java证件照剪切_GitHub - cacacai/idPicCut: 对原始证件照进行压缩,剪裁,换背景,(美颜)...