python的文件(file)操作

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_41685388/article/details/102571512

一、python(编程语言)中操作的文件类型

1.文本文件:文本式文件,如.txt、.bat、csv

2.二进制文件:MP3、excel、doc、...

二、python的文件操作

# (一)获取文件对象。
#      函数:open(文件路径,操作文件的模式)
#      返回值:得到一个文件对象
#            文件路径:绝对路径和相对路径
#            操作文件的模式:
#
# ######对于文件的读写设置(默认值是r)
# r        #只读模式
# w        #只写模式,覆盖写
# a        #只写模式,追加写
#
# ########文件的格式设置(默认值是t)
# t     #字符串的模式操作文件
# b     #字节的形式操作文件

# ########升级扩展功能
# r+   #可读可写,但文件必须事先存在,以覆盖进行写
# w+  #可读可写,不要求文件事先存在,如果文件不存在就自行新创建,以覆盖写
# a+   #可读可写,不要求文件事先存在,如果文件不存在就自行新创建,以追加写

''''''
'''(一)获取文件对象'''
file =open(r"D:\PycharmProjects\untitled\Code_location\test.txt","rt")#以只读字符串模式操作
print(file)

'''(二)打开读取文件'''
#1、.read(size)  #从文件读取指定的字节数,如果未给定或为负则读取所有。
#2、.readline()  #返回文件的一行,默认保留原文本中的换行
#3、.readlines() #返回多行,读取的内容按照行转化为列表格式
print(file.read())   #file.read()读取文件的内容,无参数则全读
'''(三)关闭文件'''
file.close()    #关闭文件

'''(四)with语句'''
#在python中,可以用with语句来对文件进行打开或者关闭
#with语句的特点:with后面操作的一定是一个资源文件,一定是实现了自动关闭功能。
#文件对象本身是资源文件,离开with语句之后,会自动关闭文件
# with open() as f1,open() as f2:
#     with语句体的内容
with open(r"D:\PycharmProjects\untitled\Code_location\test.txt","rt") as f:
    print(f.read())

'''*****(五)习惯上用for循环来对文本对象进行操作'''
#read()---将文本一次性读完,for循环一行一行的读
with open(r"D:\PycharmProjects\untitled\Code_location\test.txt","rt") as f:
    for i in f:   #\n换行符也会被单独算一行读出来
        print(i)

'''(六)对于文件的写入'''
#(1)write    #从文件的当前位置进行写入
#以r模式打开的文件,则指针在文件开头
#以w模式打开的文件,指针其实在末尾,但他会删除所有内容后,指针回到开始位置
#以a模式打开的文件,指针在最后一个位置的下一个位置,即追加
#write(content)   content写入的内容
with open(r"D:\PycharmProjects\untitled\Code_location\test.txt","at") as f:
    f.write("\nbbbb")
#f.writelines(列表)  #列表中拥有的元素是每一行的内容
with open(r"D:\PycharmProjects\untitled\Code_location\test.txt","at") as f:
    f.writelines(['a\n','b\n','d\n','c\n','f\n'])


'''(七)csv文件的写入'''  #newline=""  表示删除默认的换行
import csv
with open(r"D:\PycharmProjects\untitled\Code_location\test1.csv","wt",newline="") as f:
    writer = csv.writer(f)  #先创建csv模式的读写器(csv的读写模式对象)。调用csv.writer(要写入的文件对象)
    writer.writerow(["姓名", "年龄", "性别"])   #writer下的writerow进行写一行操作
    writer.writerow(["Jalen", "27", "男"])  # writer下的writerow进行写一行操作
    writer.writerow(["a黄黄", "27", "男"])  # writer下的writerow进行写一行操作
    #一次写入多行
    li = [["ddc",25,"女"],["dda",23,"女"],["ddb",24,"女"]]
    writer.writerows(li)

猜你喜欢

转载自blog.csdn.net/weixin_41685388/article/details/102571512