2021-08-01 文件操作和模块

'''打开文件'''
# fileA=open('./text.txt','w',encoding='utf-8')
#相对路径和绝对路径(注意用r去除转义)
# 打开文件方式:
# r以只读方式打开,如果不存在则会报错,为默认方式
# w以只写方式打开,不管文件存不存在都创建新的文件
# a以追加的方式打开,文件不存在则创建,存在则打开
#r+,w+,a+可读可写 a+从后面追加内容,r+将前面内容覆盖,w+打开文件会清空
# rb#b用于二进制文件,视频,图片,音频的打开,ab+,rb+,wb+用于二进制
'''开始操作,读/写操作'''
# fileA.write('hello world')#写入一行
# fileA.writelines(['1','2','3'])#写入多个数据,换行就['/n1','/n2','/n3']
#fileA.read()
#fileA.read(10)#读取指定数量字符,如果未添加默认为全部
#flleA.readline()#读取一行
#flleA.readlines()读取多行
'''关闭和保存'''
# fileA.close()#关闭时自动保存
#fileA.flush()#保存文件
'''with open(上下文管理器)的使用:自动关闭文件对象'''
# with open('text.txt','r') as fi:
#     print(fi.read())
# with open('text.txt','a') as fi:
#     fi.write('快乐是一切的源泉')
'''文件的备份'''
   # 小文件
# def copyfile():
#     old_file=input('please input the name of the file which you want to copy')
#     file_list=old_file.split('.')
#     new_file=file_list[0]+'的备份.'+file_list[1]#构建备份文件的文件名
#     old_f=open(old_file,'r')#打开需要备份的文件
#     new_f=open(new_file,'w',encoding='utf-8')#以写的方式打开新文件
#     content=old_f.read()#读取需要备份的文件
#     new_f.write(content)#内容写入备份文件中
#     old_f.close()
#     new_f.close()
# copyfile()
#     大文件
# def copybigfile():
#     old_file=input('please input the name of the file which you want to copy')
#     file_list=old_file.split('.')
#     new_file=file_list[0]+'de备份.'+file_list[1]#构建备份文件的文件名
#     try:
#         with open(old_file,'r') as old_f,open(new_file,'w') as new_f:
#             while True:
#                 content=old_f.read(1024)#一次性读取1024个字符
#                 new_f.write(content)
#                 if len(content)<=1024:
#                     break
#     except Exception as msg:
#         print(msg)
#         pass
#     pass
# copybigfile()

'''文件定位'''
# with open('text.txt','r') as f:
#     print(f.read(2))
#     print(f.tell())
#     print(f.read(2))
#     print(f.tell())#读取时是从上次读取位置向后读取,一个中文占两个字符

#truncate函数进行截取操作
# fileA=open('text.txt','r')
# print(fileA.read())
# fileA.close()
# print('--------------------截取后-----------------------------')
# fileA=open('text.txt','r+')
# fileA.truncate(2)
# print(fileA.read())
# fileA.close()

#seek函数的使用,控制读写进度 seek(a,b) a代表移动字节个数(正数代表向后移动,负数代表向前移动),b可为0,1,2;0代表从文件开始,1代表从当前位置,2代表从末尾位置
# with open('text.txt','rb',) as fi:
#     date=fi.read(2)
#     print(date.decode('gbk'))
#     fi.seek(-2,1)
#     date=fi.read(2)
#     print(date.decode('gbk'))
# 对于用'r'方式打开的文件,只允许从文件开头计算相对位置,而用'rb'二进制方式打开,可以自由的用seek函数改变光标位置

'''文件流'''
# import io
# str_io=io.StringIO()#生成字符串临时假文件,操作方式与文件基本相同
# str_io.getvalue()#特有的方法,获取所有内容
# byte_io=io.BytesIO()#生成二进制临时假文件
# byte_io.write(b'python')#输入二进制时前面加个'b'

'''文件目录操作,os模块的使用'''
import os
# os.getcwd()#返回当前文件目录
# os.chdir('xxxxxx')#切换路径
# os.listdir('xxxxx')#获取目录的全部文件名字
# os.walk('xxxx')#遍历文件夹
# os.path#路径操作
# os.path.join('  ','  ')实现路径的拼接
# os.mkdir('xxx')#创建文件夹
# os.rmdir('xxx')#删除文件夹
# os.rename('text.txt','text rename')#重命名文件
# os.remove('test_rename')#删除文件


'''模块和包'''
# python中的模块指的就是一个python文件
# import首次导入模块时,会进行以下三步操作:
# 1.打开模块文件
# 2.执行模块文件,将执行模块过程中产生的名字都丢到模块的名称空间中
# 3.在程序中会有一个模块的名称指向模块的名称空间去
# from time import ctime,time    #选择性导入
# as创建别名
# import time as  Mytime
# print(Mytime.ctime())#可以将模块名字转换成自定义的别名,而原模块名不可用,由别名取代
# 包就是存放多个模块的文件夹
# 库就是存放多个相关模块的文件夹
#import sys
#使用sys.path来查看模块的路径
#如果要添加其他路径,只需要使用sys.path.append('xxxx')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值