学习笔记之模块与文件的读写

1、模块

1.1、模块的创建

在python当中一个py文件就是一个模块。

  • 在一个模块中引入外部模块
    • import 模块名
    • import 模块名 as 模块别名
      模块别名是使用者来命名的
  • 通过__name__可以获取当前模块的名字 ,如果当前文件(运行的文件)是主文件,它的名字是__main__。

1.2、模块的使用

首先架设演示环境我是用的是3.8版本的Python,在文件夹中创建两个py文件.
在这里插入图片描述

  • from 模块名 import 变量 as 别名
  • from 模块名 import 变量,变量,变量…
#test1.py
print(__name__)
print("I'm test1 program")
arg1 = '变量1'
arg2 = '变量2'

def f1():
    s = '函数1'
    return s


class Person:
    def __init__(self,name):
        self.name = name

    def speak(self):
        msg = 'Hello,I am %s' %self.name
        return msg

L=Person('xiao')
  • 访问模块中的变量 语法是 模块名.变量名
#test2.py

import  module.test1 as t1

print(t1.arg1)
print(t1.arg2)

在这里插入图片描述

  • 访问模块中的函数 语法是 模块名.函数名
#test2.py
import  module.test1 as t1
print(t1.f1)

在这里插入图片描述

  • 访问模块中的对象 语法是 模块名.对象名
#test2.py

import  module.test1 as t1

print(t1.L)
print(t1.L.speak())

在这里插入图片描述

文件操作的步骤

1、打开文件

open()方法

open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True)

file: 文件路径。
mode: 文件打开模式。
buffering: 设置缓冲(不影响结果)。
encoding: 解码或编码文件的编码的名称,仅适用于文本文件。
errors: 指明编码和解码错误时怎么样处理,适用于文本模式。
newline: 文本模式之下,控制一行的结束字符。
closefd: 传入的file参数类型。
opener: 自定义打开文件方式(使用默认None)
返回值 : 返回一个对象,这个对象就代表了当前打开的文件对象
创建一个变量来保存文件的名字

file_name = open(r'D:\Project\day15\demo.txt')
print(file_name)

常用的方法:
with open() as 变量名
这个方法操作完毕后会自动关闭文件。

2、读取文件

  • open()打开一个文件,可以将文件分为2种类型;一种是纯文本文件(使用utf-8编写的文本文件);一种是二进制文件(图片、音频、视频…)。
  • open()打开文件时默认是以纯文本打开;
  • read()这个函数会把文件内的所有的内容全部读取出来;如果对于较大的文件,不要直接使用read(),可以为size指定一个值,这样read()会读取指定数量的字符,每一次读取都是从上次读取的位置开始读取的,如果字符的数量小于size,则会读取剩余所有的内容。
#对于小型文件
try:
	file_name = open('demo.txt',encoding='utf-8')
	content = file_name.read()
	print(content)
	file_name.close()
except Exception as err:
	print(err)
	
#对于大型文本文件
try:
    file_name = open('demo.txt', encoding='utf-8')
    while True:
        content = file_name.read(8)
        print(content,end='')
        if not content:
            break
	file_name.close() #关闭文件
except Exception as err:
    print(err)

打开文件后一定要记得关闭文件,file_obj.close() #关闭文件

2.1、其他方法读取文件

  • readline()方法读取一行的内容。
with open('demo.txt',encoding='utf-8') as file_name:
	content = file_name.readline()
	print(content)
  • readlines()方法读取每一行的内容储存在列表中。
with open('demo.txt',encoding='utf-8') as file_name:
	content = file_name.readlines()
	print(content)

往文件中写入数据

修改打开文件的模式,obj=open(file,mode=‘r’,encoding=‘utf-8’)
obj.write(内容)

  • w: 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • wb: 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • w+: 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • wb+:以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
  • a: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • ab: 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
  • a+: 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
  • ab+:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
with open('demo.txt','a',encoding='utf-8') as file_name:
	file_name.write()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值