美文网首页
day09 文件操作 2018-07-26

day09 文件操作 2018-07-26

作者: LPP27149 | 来源:发表于2018-07-26 20:45 被阅读0次

一、模块管理函数和类

1. 什么是模块?

   一个.py文件就是一个模块

2. import: 可以通过import关键字导入其他模块

import 模块名(.py文件名)

  • 直接导入模块的时候相当于把被导入模块的内容粘贴到了import的位置

3. 怎么使用模块中的内容? 什么内容是可以使用的?

import 模块名 -------------------- 导入模块中的所有内容
模块名.内容 (使用模块中的内容)

  • 在模块中声明的全局变量都可以使用(普通变量,函数,类)

4. 导入指定内容

              from 模块 import 内容1,内容2

  使用这种方式使用导入的包里面的内容时, 不用在被导入的变量,函数或类前加模块名但不可使用未导入的内容。

other.py

def f1():
    print('一个模块中的函数')


num = 3
print('666,六翻了')
from other2 import f1, num
print(num)
f1()

666,六翻了
3
一个模块中的函数

  

5. 阻止模块中被导入模块中不必要的代码被粘贴到当前内容

other2.py

print('hello world')
if __name__ == '__main__':
    test = 3.1415926
    print('这条语句不能被其他程序导入执行')

    def f1():
        print('另一个模块中的函数')
import other2
print(test) # 这条语句会报错

只会输出不在if __name__ == '__main__':缩进下的语句

hello world

  

  • 一般情况除了函数的声明和类的声明以外,其他的代码都放到这个if里面
  • 包含在if __name__ == '__main__':语句内的代码不会被其他程序导入使用
  • _name_ : 是每个模块自带的属性,是用来保存当前这个模块的名字的.但是当正在执行当前这个模块的时候,这个属性的值是固定的(_main_)

6. 使用as重命名

import 模块名 as 新的名字
from 模块名 import 函数名 as 新的函数名
一些例子

import math as m
print(m.pi)
from random import randint as rand
print(rand(5, 9))

3.141592653589793
7


二、基本文件操作

    (所有)文件操作流程: 打开文件 > 操作文件(读或写) > 关闭文件

1. 打开文件:

open(文件路径,打开的方式,编码方式)

  • 文件路径(必填) > 决定打开哪个文件
  • 打开方式(默认是'r') > 决定打开文件后进行什么样的操作
  • 'r' - 读操作(读出来是字符串)
  • 'rb'/'br' - 读操作(读出来的数据是二进制)
  • 'w' - 写操作(可以将文本数据写入文件中)
  • 'wb'/'bw' - 写操作(将二进制数据写入文件中)
  • 'a' - 写操作(追加)

编码方式(主要针对文本文件) > 不同的操作系统默认的文本编码方式不同(Windows(GBK),Mac(UTF-8))

2. 文本文件读操作

a. 放在工程外面的文件,写绝对路径
open('H:\Pythonproject\day09\test.txt')
b. 将文件放到工程目录下的某个位置,写相对路径(相对工程目录):./相对路径 或者 ../相对路径。当py文件直接放在工程目录下,想要使用open打开工程中其他文件使用'../'

2.1. 打开文件,返回文件句柄(文件代言人)

f = open('./test.txt', 'r', encoding='UTF-8')

test.txt
2.2. 读文件(获取文件内容)

文件.read(): 获取文件内容并返回
read(n) ----> n:设置读取长度

    content = f.read(2)
    print(content)

    content = f.read()
    print(content)

读文件操作会从上一次读取结束的位置继续读取

路漫
漫其修远兮,吾将上下而求索

2.3. 关闭文件

  • 文件操作完毕后,需要关闭文件
 f.close()

3. 文本文件写操作

3.1.打开文件

注意: 以读的方式打开文件,如果文件不存在则会报错
    以写的方式打开文件,如果文件不存在则会创建这个文件

f = open('./test.txt', 'w', encoding='utf-8')

3.2. 写操作
  • 'w': 写操作时会清空原本文件中的数据,然后重新写入数据
  • 'a': 在文件内容后添加新写的内容
f.write('吾将上下而求索')

这时test.txt中的内容变为


test.txt
3.3. 关闭文件
  • 文件操作完毕后,需要关闭文件
 f.close()

4. 二进制文件的读写操作

  • 音频,视频,图片文件都是二进制文件
f = open('./timg.jpg', 'rb')
image_data = f.read()
# bytes : python中二进制数据对应的数据类型
print(image_data)
f.close()
# 二进制文件的写操作
f = open('./img.jpg','wb')
f.write(image_data)
f.close()

5. 通过with关键字去打开文件

      with open() as 文件变量名
         文件操作

  • 通过这种方法打开文件会在文件操作结束后会自动关闭文件
    # 读
    with open('./img.jpg', 'rb') as img:
        img_data = img.read()

    # 写
    with open('./img1.jpg', 'wb') as img:
        img.write(img_data)

三、json文件

json文件,就是文件后缀是.json的文件。内容必须是json格式的内容

json格式:
1. 内容是字符串
2. 最外层是字典, 字典里面必须是键值对
3. 最外层是数组(列表), 数组里面内容必须是数组数据

  • json 是Python中内置的一个模块,专门用来处理json模块的,使用时需要导入
    import json

1.json文件的读操作

test.json
  • 直接使用read()去读,获取到的是字符串数据,包含了json中的所有内容
  • load(文件对象): 获取指定json文件中的内容,返回值是json最外层的对应的数据类型
    python与json中的数据类型对照:
    dict > dict
    array > list
    string > str
    number > int/float
    true/false > True/False
    null > None
    # 打开json文件
    with open('./test.json', 'r', encoding='utf-8') as f:
        # content = f.read()
        # print(content, type(content))
        content = json.load(f)
        print(content, type(content),content['成绩'][2])

2. json文件的写操作

  • 写数据
    dump(写的内容, 文件对象)
        with open('./n.json', 'w', encoding='utf-8') as f:
            w_content = [{'name':'派大星', 'age': 12}, {'name':'派大星2', 'age': 12}]
            json.dump(w_content, f)
n.json

3. json模块中的其他操作

loads(字符串,编码方式)> > 将指定的字符串,转换成json数据,将字符串转换成列表或列表
dumps(对象) > > 将对象转换成json字符串,列表/字典转换成json字符串

        content = json.loads('{"name":"派大星", "age": 12}', encoding='utf-8')
        print(content, type(content))
        content = json.dumps({"name":"派大星", "age": 12})
        print(content, type(content))

{'name': '派大星', 'age': 12} <class 'dict'>
{"name": "\u6d3e\u5927\u661f", "age": 12} <class 'str'>

相关文章

  • day09 文件操作 2018-07-26

    一、模块管理函数和类 1. 什么是模块?    一个.py文件就是一个模块 2. import: 可以通过impo...

  • day09 Python文件操作,json文件操作,try异常捕

    一、模块管理函数和类 1、什么是模块: 一个.py文件就是一个模块 2、import :可以通过import 关键...

  • 2018-07-26文件操作

    一 模块管理和类函数 1.什么是模块:一个.py文件就是一个模块 2.import :可以通过import关键字导...

  • Day09课堂笔记 CentOS启动流程

    Day09 作者:邹珺尧 归档:课堂笔记 日期:2019/3/11 主机名配置文件: /etc/hostnameC...

  • day09 作业 2018-07-26

    文本文件读写 滚滚长江东逝水   二进制文件读写   json文件读写   姓名灰太狼电话234567[{'nam...

  • day9-文件操作/2018-07-26

    一、模块管理函数和类 模块:一个.py文件就是一个模块。 import : 可以通过import关键字导入其他的模...

  • go day09 文件

    文件的分类 建立与打开文件 标准设备文件的使用:

  • 2018-07-26 day09 函数模块文件及异常处理

    函数模块 1. 什么是模块:一个.py文件就是一个模块 2.import:可以通过import关键字导入其他的模块...

  • 自律给我自由—Day009

    【叶子姑娘的自律100天挑战 Day09】 2019.01.23 Day09/100 【早起】第十二天早起。 【阅...

  • 文件操作

    文件操作 目标 文件操作的作用 文件的基本操作打开读写关闭 文件备份 文件和文件夹的操作 一. 文件操作的作用 思...

网友评论

      本文标题:day09 文件操作 2018-07-26

      本文链接:https://www.haomeiwen.com/subject/uqcimftx.html