python文件的使用

文件 File

  文件是用于数据存储的单位
  文件通常用来长期存储数据
  文件中的数据是以字节为单位进行顺序存储的

文件的操作流程
  1. 打开文件
  2. 读/写文件
  3. 关闭文件
  注: 任何操作系统,一个应用程序同时打开文件的数量有最大数限制

文件的打开函数:
  open(file, mode=‘rt‘) 用于打开一个文件,返回此文件流对象
  如果文件打开失败,则会触发OSError类型的错误
文件的关闭方法:
  F.close() 关闭文件,释放系统资源

  # 1 打开文件
  myfile = open(‘myfile.txt‘, ‘rt‘)
  # myfile = open(‘./myfile.txt‘)
  # myfile = open(‘/home/tarena/waid1812/PBase/day15/code/myfile.txt‘)
  print("文件打开成功")
  # 2.读写文件
  s = myfile.read()
  print("myfile文件里的内容是:", s)

  # 3.关闭文件
  myfile.close()

文件的读方法:
  F.read([n])
  F.readline()
  F.readlines()

文件的写方法:
  F.write(s) # 写入字符串或字节串(二进制模式)到文件中
  F.writelines(lst) # 写入字符串或字节串列表到文件中

读文件模式:
  ‘r‘ 只读
写文件模式:
  ‘w‘ 只写,可创建文件
  ‘x‘ 只写,当文件已存在时不创建文件,文件不存在于才创建文件
  ‘a‘ 追加写

  # 此示例示意用程序来创建 mynote.txt的文件,再向其中写入
  # 一些文字内容

  myfile = open(‘mynote.txt‘, ‘w‘)
  myfile.write("日记\n")
  myfile.write(‘2019年3月24日 晴‘)
  myfile.close()

文件的迭代读取
  文本文件流对象是一个可迭代对象,可以用for语句来遍历每一行数据迭代过程将以‘\n‘ 作用为隔符依次获取
  示例:
    fr = open(‘myfile.txt‘)
    for line in fr:
      print(line)

标准输入输出文件
  sys.stdin # 标准输入文件
  sys.stdout # 标准输出文件
  sys.stderr # 标准错误输出文件(默认是屏幕终端)
  模块名: sys
  注: 标准 输出输出文件不需要打开了关闭就可以使用

  # 此示例示意直接操作sys.stdout 来向屏幕终端打印信息
  import sys
  sys.stdout.write("这是标准输出打印的第一行\n")
  sys.stdout.write(‘这是标准输出打印出的第二行\n‘)

  # sys.stdout.close() # 不要关闭标准 输入输出文件

  print("这是print打印出来的第三行")

二进制文件操作
  二进制文件模式字符: ‘b‘
  默认文件中存储和都是以字节(byte)为单位的数据,通常有人为的格式对二进制文件的读了需要用字节串(bytes)进行操作与文本文件操作不同,二进制文件读写过程中不会进行自动的编解码转换

  # 此示例示意用二进制方式写文件
  # 此文件包含256个字节,第一个字节的值为0, 第二个字节的值为1
  # ... 最后一个字节的值是:255

  # 打开文件
  fw = open(‘bin256.txt‘, ‘wb‘) # ‘w‘-->写, ‘b‘--> binary

  b = bytes(range(256))
  print(b) # b‘\x00\x01.....\xFF‘
  count = fw.write(b) # 写入字节串,返回写入的字节个数
  print("成功写入了", count, ‘个字节‘)

  fw.close()

二进制文件的随机访问
  F.tell() 返回当前文件的读写位置(从文件头以字节为单位)
  F.seek() 设置文件读写位置
  格式:
    F.seek(偏移量, whence=相对位置)
  偏移量:
    大于0的数代表向文件末尾方向移动
    小于0代表向文件头方向移动
  相对位置
    0 代表从文件头开始偏移
    1 代表从当前读写位置开始偏移
    2 代表从文件尾开始偏移

  fr = open(‘20char.txt‘, ‘rb‘)

  print("刚开始时读写位置在:", fr.tell()) # 0
  b = fr.read(2)
  print(b)
  print("读完两个字节后,当前的读写位置在", fr.tell()) # 2

  fr.close()

  #20char.txt = ABCDEabcde0123456789

  # 此示例示意设置文件的读写位置,实现文件的随机读取
  fr = open(‘20char.txt‘, ‘rb‘)
  b = fr.read(2)
  print("当前位置在:", fr.tell()) # 2
  # 1. 从文件头向后移动5个位置
  # fr.seek(5, 0)
  # 2. 从当前位置向后移动3个字节
  # fr.seek(3, 1)
  # 3. 从文件末尾向前移动15个字节
  fr.seek(-15, 2)

  print("移动后,当前读写位置为:", fr.tell())
  b = fr.read(5) # b=b‘abcde‘
  print(‘b=‘, b)
  fr.close()

文件小结:
  打开模式:
    ‘t‘ 文本文件打开(默认)(自动进行编解码)
    ‘b‘ 二进制文件打开
  操作方式:
    读:
      F.read(n)
      F.readline()
      F.readlines()
    写:
      F.write(字节串或字符串)
      F.write(字节串或字符串列表)

汉字编码
  国标系列
    GB18030(二字节或四字节编码, 27533个汉字)
      GBK(二字节编码, 21003个汉字)
        GB2312(二字节编码,6763个汉字+682个字符)
    (windows常用)
  国际标准
    UNICODE32(四字节编码) <----> UTF-8
      UNICODE16(二字节编码)
    (Linux/IOS/ Android 常用)

  UTF-8 (8bit-UNICODE Transformation Format)
    0x0000 ~ 0x007F 1字节表示
    0x0080 ~ 0x07FF 2字节表示
    0x00800~ 0xFFFF 3字节表示(中文在此区)

python 编码(encode) 字符串
  ‘gb2312‘
  ‘gbk‘
  ‘GB18030‘
  ‘utf-8‘
  ‘ascii‘
  示例:
    s = "ABC中文"
    b1 = s.encode(‘gbk‘) # b1 为7字节
    b2 = s.encode(‘utf-8‘) # b2 为 9字节

  编码注释:
    在源文件的第一行或第二行写入如下内容为编码注释
      # -*- coding:gbk -*-
      或
      # -*- coding:utf-8 -*-
    作用:
      告诉解释执行器,当前文件的编码类型是什么

原文地址:https://www.cnblogs.com/zhaoyang1997/p/10591072.html

时间: 2024-10-11 23:01:41

python文件的使用的相关文章

如何编写一个带命令行参数的Python文件

看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命令行参数. 首先你要知道python中的sys模块的一些功能: import sys print "the number of python program's argument:",len(sys.argv) print "the value of every argument

Python文件类型

Python的文件类型分为三种:源代码.字节代码.优化代码. 1. 源代码    Python源代码文件,即py脚本文件,由 python.exe 解释,可在控制台下运行.pyw脚本文件是图形用户接口(Graphical user interface)的源文件,专门用来开发图形界面,由 pythonw.exe 解释运行. 2. 字节代码    Python源文件经过编译后生成的pyc文件,即字节文件.它与平台无关,所以可以移植到其他系统上.下面这段脚本可以把 example.py 编译为 exa

C#调用python文件执行

我的电脑环境是使用.net framework4.5.1,如果在调试过程中调不通请注意 我用的是Visual studion 2017,python组件下载地址:http://ironpython.codeplex.com/releases/view/ 下载的版本是2.7,下载安装完之后记得引入安装路径下的以下三个dll (1)首先先说一个简单的功能,在c#代码中执行python字符串,内容如下: (2)c#调用python文件: 在当前目录下新建一个后缀名为py的文件,文件名为AmoutDis

python学习笔记2—python文件类型、变量、数值、字符串、元组、列表、字典

python学习笔记2--python文件类型.变量.数值.字符串.元组.列表.字典 一.Python文件类型 1.源代码 python源代码文件以.py为扩展名,由pyton程序解释,不需要编译 [[email protected] day01]# vim 1.py #!/usr/bin/python        print 'hello world!' [[email protected] day01]# python 1.py hello world! 2.字节代码 Python源码文件

搭建Python环境与Python文件类型

Linux环境 - 大多Linux发行版均默认安装了Python环境. - 输入Python可启动Python交互模式 - 程序编辑推荐使用VIM Windows环境 - 可下载安装Python的msi包直接安装 - 自带Python的GUI开发环境 - 开发工具很多 # Linux交互界面 [[email protected] ~]# python Python 2.6.6 (r266:84292, Jan 22 2014, 09:37:14) [GCC 4.4.7 20120313 (Red

成功解决在Python文件上右键菜单无“Edit with IDLE”选项

我电脑是Win7旗舰版,之前电脑上安装的是Python2.6版本的,前两天为了体验一下Microsoft Excel与Python之间互操作, 下载并安装了DataNitro,在安装的时候脑残的安装了Python2.7.5,但是这两天在用的时候,发现之前安装的一些包后不能用了: print sys.path 才知道,Python的搜索路径变成了Python2.7.5的路径了,傻眼了,怎么办? 于是,一通百度,google之后,折腾了一个上午,终于搞定了: 首先,我在cmd里面是可以正常使用Pyt

python文件相关操作

Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中,open()方法进行打开文件等相关操作,open()方法其中第一个参数是要打开的文件的文件路径,第二个参数是对要打开文件要执行的权限,第三个参数是文件采用字符编码. 而open()方法返回的内容叫做文件句柄.我们可以打印返回的文件句柄来看下: f = open('test_file.txt','r

python文件的增删改查操作

1 def choice(): 2 print(''' 3 1 查找 4 2 删除 5 3 添加 6 4 修改 7 ''') 8 def forlist(): 9 with open("test2", encoding="utf8", mode="r+") as w: 10 for line in w: 11 print(line.strip()) 12 13 14 def check(): 15 usr=input("输入你要查找的域

python文件和元组

python文件操作 相较于java,Python里的文件操作简单了很多 python 获取当前文件所在的文件夹: os.path.dirname(__file__) 写了一个工具类,用来在当前文件夹下生成文件,这样方便 class Util(): """工具类""" @classmethod def get_file_url(cls, file_name): """获取当前文件夹的路径""&qu

在独立的python文件调用django api

在独立的python文件调用django api加入下面代码: 1 import os 2 import sys 3 root = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) 4 if root not in sys.path: sys.path.append(root) 5 if os.environ.get('DJANGO_SETTINGS_MODULE') == None: os.environ.setdefaul