zoukankan      html  css  js  c++  java
  • Python 文件读写 文件和路径

    1、在Windows上,使用倒斜杆作为文件夹之间的分隔符,在Linux上,使用正斜杠作为路径分隔符。在编写Python脚本时,可以os.path.join()函数来处理

    在Windows环境下命令如下,返回的路径为倒斜杆,倒斜杆有两个,是因为加了转义字符

    >>>
    >>> import os
    >>> os.path.join('usr','bin','pigwan7')
    'usr\bin\pigwan7'
    >>>

    在Linux环境下命令,返回的路径为正斜杠

    >>>
    >>> import os
    >>> os.path.join('usr','bin','pigwan7')
    'usr/bin/pigwan7'
    >>>

    2、获得当前路径和改变工作路径

    >>>
    >>> import os
    >>> os.chdir('/usr/bin')
    >>> os.getcwd()
    '/usr/bin'
    >>> os.chdir('/root')
    >>> os.getcwd()
    '/root'
    >>>

    3、创建新文件夹

    >>>
    >>> os.makedirs('/home/xiaobai/study')
    >>> os.chdir('/home/xiaobai/study')
    >>> os.getcwd()
    '/home/xiaobai/study'
    >>>

     4、相对路径和绝对路径

    os.path.abspath(path)返回参数的绝对路径的字符串,os.path.isabs(path),返回一个布尔值,判断是否是相对路径

    >>>
    >>> os.path.abspath('.')
    '/home/xiaobai/study'
    >>> os.path.isabs('.')
    False
    >>>

    os.path.dirname(path)返回一个字符串,包含path参数中最后一个斜杠之前的所有内容;os.path.basename(path)将返回path参数中最后一个斜杠之后的所有内容

    >>>
    >>> os.path.dirname('/home/xiaobai/study/test.txt')
    '/home/xiaobai/study'
    >>> os.path.basename('/home/xiaobai/study/test.txt')
    'test.txt'
    >>>

    os.path.split()返回两个字符串的元组,包含路径的目录名称和基本名称

    >>>
    >>> os.path.split('/home/xiaobai/study/test.txt')
    ('/home/xiaobai/study', 'test.txt')
    >>>

    查看文件大小和文件夹内容

    os.path.getsize(path)返回path参数中文件的字节数,下面这个例子中的文件大小为51200字节

    >>>
    >>> os.path.getsize('/home/xiaobai/study/test.txt')
    51200
    >>>

    os.listdir(path)返回path参数中文件名的字符串列表,/home/xiaobai/study目录下共有3个文件

    [root@client01 study]#
    [root@client01 study]# pwd
    /home/xiaobai/study
    [root@client01 study]# ll
    total 156
    -rw-r--r--. 1 root root 51200 Nov 17 01:28 test1.txt
    -rw-r--r--. 1 root root 51200 Nov 17 01:28 test2.txt
    -rw-r--r--. 1 root root 51200 Nov 17 01:24 test.txt
    [root@client01 study]#

    >>>
    >>> os.listdir('/home/xiaobai/study/')
    ['test.txt', 'test1.txt', 'test2.txt']
    >>>

    利用os.path.getsize(path)和os.listdir()可以计算文件夹下所有文件的大小

    >>>
    >>> totalSize=0
    >>> for filename in os.listdir('/home/xiaobai/study/'):
    ... totalSize=totalSize + os.path.getsize(os.path.join('/home/xiaobai/study/',filename))
    ...
    >>> print(totalSize)
    153600
    >>>

    5、检测路径有效性

    >>>
    >>> os.path.exists('/home/xiaobai')
    True
    >>> os.path.isdir('/home/xiaobai')
    True
    >>> os.path.isfile('/home/xiaobai')
    False
    >>>

  • 相关阅读:
    阿里云遇到的坑:CentOS7防火墙(Firewalld),你关了吗?
    阿里云学生机——Mysql配置---教小白入门篇
    关于Javac编译器的那点事(一)
    B树,B+树,B*树简介
    ArrayList动态扩容机制
    满二叉树和完全二叉树
    nginx实践(二)之静态资源web服务(浏览器缓存场景)
    http之cdn介绍
    http之理解304
    nginx实践(一)之静态资源web服务
  • 原文地址:https://www.cnblogs.com/pigwan7/p/7845128.html
Copyright © 2011-2022 走看看