file文件测试数据的读写与操作

【相对路径与绝对路径】

【?】如果我们要打开/操作一个文件,是用绝对路径还是相对路径更好些?

#相对路径:以当前文件为基准进行一级级目录指向被引用的资源文件

# 绝对路径:文件的真正存在的路径,是指从硬盘的根目录(盘符)开始,进行一级级目录指向文件(从根目录一层层读写)      

# 场景:当要打开py文件所处的文件时只要使用相对路径就行了,而要使用其他文件夹的则需使用绝对路径

# 通常用’/‘来表示相对路径,’\‘来表示绝对路径

# 以下是常用的表示当前目录和当前目录的父级目录的标识符   

    ../ 表示当前文件所在的目录的上一级目录  
    ./ 表示当前文件所在的目录(可以省略)
    / 表示当前站点的根目录(域名映射的硬盘目录)

总结:

  通过总结可以发现,当你要导入的文件在和你的当前文件在同一个目录时,你直接导入这个文件名就好了。

  当你要导入的文件或者目录不和你的当前文件同目录时,你需要跳到这个你要导入文件的父级目录,然后一级一级的用点号连接走过的目录或者文件,然后就可以了 至于要怎么跳到这个这个父级目录。比较通用的就是,将父级目录加入系统路径,然后用点号一级一级的寻找,直到到达你要导入的模块。

 

文件夹的相关操作

# 新建一个目录/新建一个文件夹

说明:文件夹的相关操作需要python的os模块支持

1、路径的获取

获取当前所在工作目录:os.getcwd()  # 具体到最后一级目录

获取当前文件所在绝对路径:os.path.realpath(__file__)  # 具体到模块名(文件名),等同于 os.path.abspath(__file__)

      

2、创建目录

创建文件夹:os.mkdir("test")

跨级创建文件夹:os.mkdir("test/test01")    #用‘/’代表路径的不同层级,必须确保test文件夹(上面的层级)是存在的,要注意避免成为转义字符

   【备注】# 转义字符:/r、/t等 --可百度,路径中若想避免则可以变为‘//’或者路径首位加‘r’  (2)# ‘反斜杠’ 和 ‘正斜杠’ 无区别,单双斜杠也没有区别

3、删除目录

删除文件夹:os.rmdir("test")  

层级删除文件夹:os.rmdir("test/test01")  # 已存在子目录的情况下,需要层级删除不能直接删除test

4、拓展

跳转到其他目录:os.chdir("aaa")

获取目录下文件夹和文件名称:os.listdir()(得到的数据类型是列表)  如:print(os.listdir(os.getcwd())) #罗列当前所有的目录和文件      

5、判断是文件还是目录

文件:os.path.isfile()

目录:os.path.isdir()

    # 判断是否是文件   isfile
    print(os.path.isfile(__file__))
    print(os.path.isfile(os.getcwd())) #getcwd 确定的是最后一级目录,返回值是布尔值

  # 判断是否是目录 isdir
    print(os.path.isdir(os.getcwd())) #返回值是布尔值 dir directory
    print(os.path.isdir(__file__)) 

6、判断文件是否存在

               os.path.exists(path) ----- 检验给出的路径是否存在,返回bool值

 

【?】如何拼接路径  

 方法1:  # 路径拼接,用“+”

       

方法2:  #方法2 join(加了反斜杠证明进入下一级)

      

 

【拓展】给定一个路径,请打印所有路径,直至路径下不再有路径为止(相当于是打印所有的路径)

        #思路:递归函数,写成一个函数

 

posted on 2018-10-19 21:05  暖暖_8023  阅读(396)  评论(1编辑  收藏  举报

导航