python文件的处理

# python  文件的处理
# 配置文件  txt  html ----使用内置函数open()
# open() 函数的作用打开或者创建文件
# file:你要打开或者创建的目标文件的文件名(或者相对路径、绝对路径)
# mode:模式,默认参数是只读;只读、只写、读写、追加
# encoding:如果你要读取的文件或者写入的文件包含中文,就要使用编码encoding = 'utf-8'
# 模式:r  只读   r+  读写
# w  写   如果文件存在,就是先清空文件再写,如果文件不存在,就是新建一个文件再写   如果打开文件时以“w‘模式,读取到的文件为空,因为打开文件的时候,内容就已经被清空了
# w+ 读写
# a  追加写  只写   file存在的话就追加写,file不存在就新建一个再写,不会清空,写在文件的最后面
# a+ 读写   file存在的话就直接读写,file不存在就新建一个在写,a+模式打开的时候,光标就自动定位到最后面了,要想读取,需要用seek()移动光标
# 读取文件
# 例子,读取test.txt文件
file =open('test.txt','r',encoding='UTF-8')   #打开文件,默认的是读取,可以自己指定读还是写
res = file.read(5)   #如果有数字,就读取指定的元素个数,没有就读取文件全部内容
res_1 = file.readline()   #读取一行
res_2 = file.readlines()    #读取多行,返回值的结果是一个列表,每一行作为列表的一个元素存储在列表里面
for i in res_2:
    print(i)
print(res_1)
# 写操作 w,清空写
# a+模式的读写
file =open('test.txt','a+',encoding='UTF-8')
file.seek(0,0)  # 移动光标 第一个参数 你要移动的偏移量 第二个参数 相对谁去移动 0 头部 1 当前位置 2 尾部
                 #一个汉字 占3个位,所以如果文件是中文的话,偏移量3,6,9...,,一个英文占1位
res_1 = file.readline()
print(res_1)     #读出为空,因为以a+模式打开的时候,光标自动定位到最后面,所以读出为空,要想读到数据,可以用seek()
file.write('hello1111')    # r+模式下的写,都是写在文件的最后面,不管是先读后写还是先写后读

概念介绍:
相对路径  ../返回上一级  ../../返回上两级
绝对路径  直接右键copy pyth,有时候可能会用\转义符,或者最前面加r
file = open('G:\pythonproject_01\week4\class_0123_file\\test.txt',encoding='utf-8')
print(file.read())

# os   可以完成对路径的读取
# 首先导入  import os
import os
path_1 = os.getcwd()  #获取当前的工作目录
path_2 = os.path.realpath(__file__)    #获取当前文件的绝对路径,还会包含文件名  __file__ 表示当前文件
path_3 = os.path.basename(__file__)  #获取当前文件名

# 切割路径的方法
# path_2 = os.path.realpath(__file__)
# path_4 = os.path.split(path_2)[0]  #路径的切割,一层一层的切割,返回的是一个tuple(head,tail),可以选择取头部或者尾部

# 拼接路径
path_2 = os.path.realpath(__file__)    #获取路径
path_4 = os.path.split(path_2)[0]      #切割,获取返回元组的第一个元素
path_5 = os.path.join(path_4,'test1.txt')  #拼接
# 加号也是拼接
path_5 = path_4 + '\\test1.txt'    #遇到\t \n这种开头的文件名,无法识别,可以加一个\,或者用转义符 r来 处理
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值