Python文件操作及函数

一、Python的文件操作:
1.1 文件操作的结构:
1、文件名(或者是文件的绝对路径)
2、操作权限(r读、w写、b以二进制的方式打开、a追加写入)

1.2 文件对象f.常用的操作方法

read()    把文件的所有内容都读取出来,返回一个字符串
write(data)  把字符串data写入到文件中,只接受字符串参数 data=”test”
readline   每次读取文件一行数据,返回每行的字符串数据 readlines 读取文件内容,返回一个list,每一行是一个元素
name()   文件名字
fileno()    文件描述符
close()   关闭文件
encoding()  文件编码
closed()    判断文件是否关闭(返回bool值:True或False)
seek(offset,whence)   offset偏移量(正数向后偏移,负数向前偏移) whence(0开头 1现在位置 2结尾)
tell()           返回文件光标位置
truncate(size)      有写权限可以使用,清空文件,size表示清空到什么位置,0位清空所有,例如:truncate(1) 保留1位

1.3 实际操作列举:
读取文件内容:
读取文件必须是存在的

f = open("1.txt","r")
print(f.read())
f.close()

写入文件内容(没有中文字符时,只有英文字符):
写入文件不存在则会自动创建

f = open("1.txt","w")
print(f.write("xxxxxxxxxxxx\n yyyyyyyyyyyyyyyy\n  zzzzzzzzzzzzzz"))
f.close()

写入文件内容(存在中文字符):
存在中文字符时,需要在后面加上encoding=”utf-8” 指定编码类型,否则会显示为乱码。

f = open("3.txt","a",encoding="utf-8")
print(f.write("\n我打飞机啊时空裂缝就奥斯卡砥砺奋进上课了就"))
f.close()

为了日后维护代码修改方便,可以使用全局申明:
注意:全局申明要使用的所有字母都必须大写

NCODEING = "utf-8"
f = open("3.txt","w",encoding=ENCODEING)
f.write("\n发送到发上分大神")
f.close()

追加写入文件内容:

f = open("2.txt","a")
print(f.write("\n6666666666"))
f.close()

readline和readlines用法的区别:
readline 举例:

f = open("3.txt","r",encoding=ENCODEING)
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
print(f.readline())
f.close()


readlines 举例:

f = open("3.txt","r",encoding=ENCODEING)
print(f.readlines())
f.close()

从上面的结果输出结果对比,可以看出:
readline是每次读取文件一行数据,返回每行的字符串数据;
readlines是读取文件所有内容,返回一个list,每一行是一个元素

我们也可以使用for循环使用readlines打印每行字符串数据,enumerate打印行号;实现如readline每次只读一行数据的效果:

f = open("3.txt","r",encoding=ENCODEING)
for i,line in enumerate(f.readlines()):print("第{0}行内容: {1}".format(i,line))
f.close()

1.4 with as的用法:
在上面的读写操作后,我们每次都需要使用.close()来关闭文件显得特别麻烦。
而我们可以使用with as实现同样的效果,如下面2个举例编写:

with open("1.txt","r") as f:
print(f.read())
import codecs
with codecs.open("3.txt","r",encoding="utf-8") as f:print(f.read())

二、函数:
1.1 函数的介绍:

函数就是一种封装的思想,把细小的功能或者可以缩小的功能封装成一种函数。

函数定义(申明): 以关键字 def开头,函数名,参数: 回车缩进

 def  function(arg1,arg2,...):pass

函数的调用:

函数名直接插入参数

function(1,2,3)
arg1 ,arg2  形参(list、dict等的参数)
1,2,3       实参(实际值的参数)

1.2 函数中*args  **kwargs用法:

def fun(*args **kwargs):pass

举例如下:

fun(1,2,3,4,5,a=1,b=2)
a = 1
args = 2,3,4,5              list 一一对应
kwargs = {"a":1,"b":2}      dict 一一对应

解析:
a    代表实际数
*args   代表list
**kwargs  代表dict

1.3 匿名函数:
匿名函数的格式:

lambda x,y: x+y

举例,两数相加:

add = lambda x,y: x+y

一般不建议适用匿名函数,建议使用如下,意思与匿名函数一样:

def add(x,y):return x+y

Python文件操作及函数相关推荐

  1. Python文件操作与函数目录

    文件操作 python文件操作 函数 Python函数学习--初步认识 Python函数学习--作用域与嵌套函数 Python函数学习--匿名函数 python内置函数 Python函数学习--递归 ...

  2. load()是python文件操作的函数_python基础总结(函数,文件操作)

    divmod(a, b)#分别取商和余数 float([x])#将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([x[, base]])#将一个字符转换为int类型,base表示进制 l ...

  3. python2与pyrhon3的区别,python—文件操作,函数练习题

    练习题 文件处理相关 编码问题 请说明python2 与python3中的默认编码是什么? 为什么会出现中文乱码?你能列举出现乱码的情况有哪几种? 如何进行编码转换? #-*-coding:utf-8 ...

  4. load()是python文件操作的函数_Python 文件读写

    &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp 预备知识 Python 入门 学习处理文件和保存数据可让你的 ...

  5. load()是python文件操作的函数_python深入(函数,文件操作)

    一.内建函数 1.数学运算类 abs(x)#求绝对值 divmod(a, b)#分别取商和余数 float([x])#将一个字符串或数转换为浮点数.如果无参数将返回0.0 int([x[, base] ...

  6. Python开发【第三篇】:文件操作与函数

    内容概要 文件操作 初始函数 函数定义与调用 函数的返回值 函数的参数 函数进阶 函数参数--动态传参 名称空间 作用域 函数的嵌套 函数名的运用 gloabal,nonlocal 关键字 1.文件操 ...

  7. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  8. python关闭读写的所有的文件-Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  9. Python文件操作学习总结

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

  10. python文件操作实验总结,[干货分享]Python文件操作技巧总结

    引言 小伙伴们,今天给大家讲解一下python程序下的文件操作完整技巧梳理,都是笔者总结的干货.通过本文阅读,不仅可以带来生产力提升,也可以开发小脚本为生活带来乐趣.         首先不知道大家对 ...

最新文章

  1. WorldWind源码剖析系列:外包围盒类BoundingBox和外包围球类BoundingSphere
  2. 使用jupyter notebook连接服务器进行远程写代码
  3. Android 上滑背景变淡,在Android中,如何平滑地将背景从一种颜色淡化到另一种颜色? (如何使用线程)...
  4. LPVOID是一个没有类型的指针
  5. ArcGIS 10.2.2利用Anaconda集成scipy和pandas
  6. 知乎回应月饼问题:忽略了麦芽糖或致部分人不耐受,召回所有月饼
  7. 德鲁克谈《自我管理》笔记摘要
  8. 苹果支付在哪里设置_你会用苹果手机吗?这些快捷指令快速设置一下,好用度提升10倍...
  9. 算法笔记.胡凡 第11章 动态规划专题
  10. 明翰经验系列之管理篇V1.1(持续更新)
  11. 脱贫攻坚“甜蜜行”基层医生培训班第二期在怀化举办,3市共50名村医参加
  12. Microsoft Office 2007不能安装的原因
  13. sqlserver数据库安全
  14. 淘宝开源的代码质量检测工具,真强啊~
  15. 西安100w就可以财务自由?靠工资如何崛起!
  16. 微信6.5.10版 android,安卓版微信6.5.10版发布:这些新功能你都知道么?
  17. JavaScript 动态获取ajax 自动刷新接口内容
  18. 开发工具:2022个人开发工具清单
  19. HTML5文本框怎么透明,css怎么设计文本框透明度
  20. 斐波那契数列----有一段楼梯有n级台阶,规定每一步只能跨一级或两级,要登上第n级台阶有几种不同的走法?...

热门文章

  1. Mac修改hosts文件
  2. java事务是什么_在java中,事务是什么?
  3. ei会议和ei源刊的区别_ei会议和ei期刊的区别
  4. 测试睡眠质量软件,2018测睡眠质量的app排行榜:推荐10款有趣又有效的睡眠APP
  5. pillow软件 Android,Pillow自动睡眠追踪
  6. 学习电商项目的经验总结(三)
  7. springboot自定义Servlet容器
  8. OpenPose:实时多人2D姿态估计
  9. 新消费业内人说不出口的10个问题
  10. ffmpeg将视频转图片,图片转视频