美文网首页数据蛙就业班
python操作文件及os模块相关

python操作文件及os模块相关

作者: 卅清 | 来源:发表于2020-01-19 18:25 被阅读0次

    1.open函数,可以打开一个已经存在的文件,或者创建一个新文件

    open(文件名,访问模式),注意默认encoding是gbk,如果文件编码是utf8,

    open(文件名,访问模式,encoding='utf8')

    访问模式:

    r:以只读的方式打开文件,文件的指针放在文件的开头

    w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。

    a:以追加的方式打开文件并写入内容,也就是说文件指针将会放在文件的结尾,如果该文件不存在,创建新文件进行写入。

    rb:以二进制格式打开一个文件用于只读。wb,ab同理。

    r+:给r模式增加了写入的功能

    w+:给w模式增加了读出的功能

    a+:给a模式增加了读出的功能

    2.写数据

    使用write()可以完成向文件写入数据。

    f = open("test.txt",'w')

    f.write("lalalla"+'\n'+"hahahaha")

    f.close()

    3.读数据

    read函数,read(num),num,从文件中读取的数据的长度(单位是字节),后面读取的数据是从上次读完后的位置开始的,如果不传入,就默认读出全部数据。

    f1 = open("test.txt",'r')

    f1.read(2)

    'la'

    f1.read(9)

    'lalla\nhah'

    readlines函数,可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素

    readline函数:读取文件中一行的数据,后面读取的数据是从上次读完后的位置开始的。

    4.close函数,关闭文件

    5.获取在当前文件中指针读写的位置

    tell函数,在close函数之前。

    f = open("test.txt", "r")

        str = f.read(3)

        print("读取的数据是 : ", str)

        # 查找当前位置

        position = f.tell()

        print("当前文件位置 : ", position)

        str = f.read(3)

        print("读取的数据是 : ", str)

        # 查找当前位置

        position = f.tell()

        print("当前文件位置 : ", position)

        f.close()

    读取的数据是 :  lal

    当前文件位置 :  3

    读取的数据是 :  all

    当前文件位置 :  6

    6.定位到某个位置

    seek(offset, from)有2个参数

    offset:偏移量

    from:方向

    0:表示文件开头

    1:表示当前位置

    2:表示文件末尾 

    f = open("test.txt", "r")

    print(f.tell())

    print(f.seek(5,0))

    print(f.tell())

    0

    5

    5

    7.os.rename("老文件名","新文件名") 重命名文件名

    8.os.remove("删除文件名")  删除文件

    os.removedirs('dirname1')若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推

    9. os.mkdir("张三") 创建文件夹

    10. os.getcwd() 获取当前目录

    11. os.chdir("test") ,目录切换

    12.os.listdir(),获取当前文件列表,包括文件夹,文件名。

    13.os.rmdir("待删除文件夹")  删除文件夹,目录非空不能使用 

    import shutil

    shutil.rmtree("待删除文件夹"),删除非空目录

    14.os.walk(top, topdown=True, onerror=None, followlinks=False)用来遍历一个目录内各个子目录和子文件。

    top 是你所要便利的目录的地址

    topdown 为真,则优先遍历top目录,否则优先遍历top的子目录(默认为开启)

    onerror 需要一个 callable 对象,当walk需要异常时,会调用

    followlinks 如果为真,则会遍历目录下的快捷方式(linux 下是 symbolic link)实际所指的目录(默认关闭)

    os.walk 的返回值是一个生成器(generator),也就是说我们需要不断的遍历它,来获得所有的内容。

    得到一个三元tupple(dirpath, dirnames, filenames)

    第一个为起始路径,第二个为起始路径下的文件夹列表,第三个是起始路径下的文件列表。

    for root,dirs,files in os.walk("test"):

        print(root) 

        print(dirs) 

        print(files)

    test

    ['t']

    ['t.txt']

    test\t

    []

    ['t1.txt']

    15.os.sep  主要用于系统路径中的分隔符.windows下是'\\',linux是'/'

    os.sep

    '\\'

    16.os.chmod 更改文件或目录的权限。

    os.chmod(path, mode),

    17.Os.path.abspath(path) 返回文件绝对路径(有文件名)

    18.os.path.dirname(path),返回文件路径

    os.path.dirname("test/t.txt")

    'test'

    19.os.path.join(path1[,path2[,……]]), 将多个路径组合后返回

    os.path.join(os.getcwd(),"ppp.txt")

    'C:\\test\\ppp.txt'

    20.os.path.split(path) 

    将path分割成目录和文件名二元组返回。 

    os.path.split("test/t.txt")

    ('test', 't.txt')

    21.os.path.basename(),返回文件名

    os.path.basename("test/t.txt")

    't.txt'

    22.os.path.exists(path) 

    如果path存在,返回True;如果path不存在,返回False。

    os.path.exists("ttttt")

    False

    23.os.path.isabs/isdir/isfile(path)

    如果path是一个存在的绝对路径/文件夹/文件,返回True。否则返回False。

    24.os.path.getsize(path) 返回path的文件的大小(字节)

    os.path.getsize("test/t.txt")

    72

    25.os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间。

    26.os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间

    27.os.system("bash command")  运行shell命令,直接显示

    相关文章

      网友评论

        本文标题:python操作文件及os模块相关

        本文链接:https://www.haomeiwen.com/subject/ettdzctx.html