zoukankan      html  css  js  c++  java
  • python之IO目录处理

    IO目录处理

    在使用io常用函数之前,必须要在py文件头部import os。os是(Operation system)的缩写,意思就是系统操作。

    1. 创建删除目录

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 # @Time     :2018/11/29 15:27
     4 # @Author   :Yosef
     5 # @Email    :wurz529@foxmail.com
     6 # @File:    :class32.py
     7 # @Software :PyCharm Community Edition
     8 import os
     9 '''
    10 创建目录,而非创建文件
    11 创建文件,参考open中的model,删除文件则用到os.remove
    12 '''
    13 # os.mkdir("../python_io/")   # make directory 创建一个目录
    14 # os.rmdir("../python_io")   # remove directory 删除一个目录
    15 
    16 file = open("../python_io/testio.txt", "w", encoding="UTF-8")  # 创建文件不要加上不存在的目录,否则报错;目录存在则创建文件成功
    17 file.close()
    18 os.remove("../python_io/testio.txt")

    我创建删除目录,文件都是成功的。筒子们自己试一下。

    2. 寻找目录/文件路径

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 # @Time     :2018/11/30 10:26
     4 # @Author   :Yosef
     5 # @Email    :wurz529@foxmail.com
     6 # @File:    :class33.py
     7 # @Software :PyCharm Community Edition
     8 import os
     9 path=os.getcwd()        #E:python_workspaceStudyPythonos
    10 print(path)
    11 
    12 path=os.path.dirname(__file__)   #E:/python_workspace/StudyPython/os
    13 print(path)
    14 
    15 path=os.path.realpath(__file__)    # E:python_workspaceStudyPythonosclass33.py
    16 print(path)
    17 
    18 path=os.path.basename(__file__)     # class33.py
    19 print(path)

    结果对比:

    3. 目录路径的其他操作

    3.1 文件路径拼接

    os.path.join(a,b)   a:py文件的同级目录,b新建的文件目录。新建只能一级一级的新建。拼接路径的时候,不能跨过不存在的路径,直接去新建一层的目录。

    1 import os
    2 
    3 new_file = os.path.join("sub_001", "test")  # join(a,b) 
    4 print(new_file)
    5 os.mkdir(new_file)

    结果:

    3.2 os.path.isdir / os.path.isfile  判断是否是目录,是否是文件

     1 #!/usr/bin/python3
     2 # -*- coding: utf-8 -*-
     3 # @Time     :2018/11/30 14:13
     4 # @Author   :Yosef
     5 # @Email    :wurz529@foxmail.com
     6 # @File:    :class34.py
     7 # @Software :PyCharm Community Edition
     8 import os
     9 path = os.getcwd()
    10 print(os.path.isdir(path))
    11 
    12 file = os.getcwd()+"/class34.py"
    13 print(os.path.isfile(file))

    3.3  os.path.split() 目录分割

    这个函数方法可以把切割路径,最后一层目录独立成为一个元素,返回结果是含有两个元素的元组。

    参数说明:

    1. PATH指一个文件的全路径作为参数:
    2. 如果给出的是一个目录和文件名,则输出路径和文件名
    3. 如果给出的是一个目录名,则输出路径和为空文件名

    实际上,该函数的分割并不智能,它仅仅是以 "PATH" 中最后一个 '/' 作为分隔符,分隔后,将索引为0的视为目录(路径),将索引为1的视为文件名,如:

    >>> import os
    >>> os.path.split('C:/soft/python/test.py')
    ('C:/soft/python', 'test.py')
    >>> os.path.split('C:/soft/python/test')
    ('C:/soft/python', 'test')
    >>> os.path.split('C:/soft/python/')
    ('C:/soft/python', '')

     3.4 os.listdir() 列出目录下所有文件名

    这个函数的作用是列出目录下所有的文件,返回结果是列表。

    1 import os
    2 path = os.getcwd()
    3 # path = os.path.realpath(__file__)
    4 # print(os.path.split(path))
    5 print(os.listdir(path))

    结果如下:

  • 相关阅读:
    迭代器求迄今为止所有的闰年
    记录列表中每个元素被访问的次数
    访问修改属性日志
    描述符
    摄氏与华氏转变
    【bzoj1925】[Sdoi2010]地精部落 组合数学+dp
    【bzoj1280】Emmy卖猪pigs 最大流
    【bzoj1449/bzoj2895】[JSOI2009]球队收益/球队预算 费用流
    【bzoj2721】[Violet 5]樱花 数论
    【bzoj4810】[Ynoi2017]由乃的玉米田 莫队算法+STL-bitset
  • 原文地址:https://www.cnblogs.com/wlyhy/p/10043643.html
Copyright © 2011-2022 走看看