python基础语法-python对文件的操作

这里简单介绍基础的文件操作,基础的文件夹操作见:https://blog.csdn.net/zhouchen1998/article/details/81503819

对文件的操作对于数据的永久存储起着至关重要的作用。

文件的操作主要分为写入和读取。

但是无论哪种操作都要先建立文件流也就是要找到或者打开文件。

一般而言,写法如下:

f = open('filename', 'mode', encoding='utf-8')

分别是文件路径, 打开模式, 编码方式

文件路径:要么只给出文件名.后缀名,这种方式认为相对路径,也就是当前工作目录下的文件,没有则创建该文件;要么给出具体盘符文件夹文件名.后缀名,这种方式认为绝对路径,也就是指定位置的文件,没有则创建。

打开模式:主要有一下几种模式:

                  r: 以只读方式打开,不可以修改

                  w:以写入方式打开,会清空原来内容,写入新的内容

                  x:以创建方式打开,文件已经存在会报错

                  a:以追加方式打开,会在文件最后添加内容

                  b:以二进制方式写入

                  t:以文本方式打开

                  +:以可读写方式打开

可以组合:如'wb'

编码方式:不指定有默认编码方式

                 

1.写入

两种写法:

第一种(这种写法最后必须关闭文件)


f = open(r"test.txt", 'w', encoding='utf-8')
f.write("hello world"+"\n")
l = ["i", "love", "python"]
f.writelines(l)
f.close()

第二种   (推荐这种写法,不需要关闭文件)


with open(r"test.txt", 'w', encoding='utf-8') as f:
    f.write("hello world"+"\n")
    l = ["i", "love", "python"]
    f.writelines(l)

2.读取 

两种写法:

第一种(与上面类似,不推荐)

第二种(推荐写法)

# 按行读取内容
with open(r"test.txt", 'r') as f:
    strline = f.readline()
    while strline:
        print(strline)
        strline = f.readline()
# 按行迭代
with open(r"test.txt", 'r') as f:
    l = list(f)
    for i in l:
        print(i)
# 字符读取,可偏移
with open(r"test.txt", 'r') as f:
    strchar = f.read()
    print(strchar)
# 从某个位置向后偏移若干字节,而read的单位是字符数
with open(r"test.txt", 'r') as f:
    f.seek(4, 0)
    strchar = f.read()
    print(strchar)

猜你喜欢

转载自blog.csdn.net/zhouchen1998/article/details/81503124