疑问:

如果打开操作一个文件,是用绝对路径好还是相对路径好?

os模块,在lib下面,可以直接引入的,直接使用import。

一、新建一个目录,新建一个文件夹

import os

#新建一个文件夹

os.mkdir("wuzm")

#跨级新建目录,用 / 符号代表路径的不同层级,必须确保上面的层级是存在的。

os.mkdir("wuzm/lyn") # 相对路径

os.mkdir("D:\\test_python") #决对路径 \转义字符,\t制表符。我们可以通过\或者前面加r或R使转义字符失效。

二、删除

os.rmdir("wuzm/lyn") #删除文件也是一级一级的删除,不推荐一次性删除

os.remove("wuzm/lyn") #如果wuzm下面有lyn,则不能只删除wuzm这个文件

#拓展:1、python是否可强制性删除

# 2、怎么去新建文件,open可新建,如何删除文件

三、路径的获取

路径的获取1 :获取当前工作目录,具体到最后一级目录

path = os.getcwd()

print("获取到的当前路径是:{0}".format(path))

#路径的获取2 :获取当前文件所在的绝对路径,具体到模块名

path_2= os.path.realpath(__file__) #__file__静态变量,标识模块本身

print("获取到的当前路径是:{0}".format(path_2))

'''输出:

获取到的当前路径是:E:\柠檬班第一周

获取到的当前路径是:E:\柠檬班第一周\lianxi.py'''

四、如何拼接路径

#方法一:

new_path_1 = os.getcwd()+"\pathon1" #拼接一个路径,需要加一个\

print(new_path_1)

os.mkdir(new_path_1) #新建一个这个路径

#方法二:

#new_path_2 = os.path.join(os.getcwd(),"python666\sub1")

new_path_2 = os.path.join(os.getcwd(),"python666","sub1") #这里是不定长参数,不能跨级新建,前面的路径必须存在

print(new_path_2)

os.mkdir(new_path_2)

五、判断是文件还是目录,是bool值

print(os.path.isfile(__file__)) #True

print(os.path.isfile(os.getcwd())) #False 判断是文件

print(os.path.isdir(os.getcwd())) #True 判断是路径,目录

#怎么判断文件是否存在呢?返回的也是bool值

print(os.path.exists('E:\柠檬班第一周\\add.py'))

python学习笔记(22)-os文件操作模块的更多相关文章

  1. python学习笔记(十)、文件操作

    在前面我们了解到了没得模块,其中有一个模块为fileinput,为文件操作模块,不知道小伙伴们是否还记得? 1 打开文件 要打开文件,可以使用fileinput中的fileinput.input函数进 ...

  2. Python学习笔记八:文件操作(续),文件编码与解码,函数,递归,函数式编程介绍,高阶函数

    文件操作(续) 获得文件句柄位置,f.tell(),从0开始,按字符数计数 f.read(5),读取5个字符 返回文件句柄到某位置,f.seek(0) 文件在编辑过程中改变编码,f.detech() ...

  3. Python学习笔记七:文件操作

    文件操作 对照一个word文件的操作方式,来体会文件操作的内容 打开文件:f=open(“file”),提示编码错误,windows默认是GBK f=open(“file”,encoding=”utf ...

  4. Windows phone 8 学习笔记(2) 数据文件操作

    原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...

  5. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

  6. Python学习笔记之从文件中读取数据

    10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...

  7. python学习笔记(26)-request模块

    python学习笔记 #requests import requests #from class_005.http_resuest import HttpRequest login_url = &qu ...

  8. 吴裕雄--python学习笔记:os模块函数

    os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...

  9. python学习笔记(12)常用模块

    一.模块.包 什么是模块? 模块实质上就是一个python文件,它是用来组织代码的,意思就是说把python代码写到里面,文件名就是模块的名称,test.py test就是模块名称. 什么是包? 包, ...

  10. python学习笔记系列----(四)模块

    这一章主要是叙述了python模块的概念以及包的概念,还有它们的使用:收获也是大大的. 提起python文件,经常会听到3个名词,python脚本,python模块,python包.脚本的概念是从py ...

随机推荐

  1. Java自学-集合框架 聚合操作

    聚合操作 步骤 1 : 聚合操作 JDK8之后,引入了对集合的聚合操作,可以非常容易的遍历,筛选,比较集合中的元素. 像这样: String name =heros .stream() .sorted ...

  2. 201712-2 游戏 Java

    思路: 第一感觉有点像约瑟夫环.想到用队列解决比较好理解 import java.util.LinkedList; import java.util.Queue; import java.util.S ...

  3. 吴裕雄--天生自然MySQL学习笔记:MySQL 导入数据

    1.mysql 命令导入 使用 mysql 命令导入语法格式为: mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql) 实例: # mysql -uroot -p12 ...

  4. SQL基础教程(第2版)第1章 数据库和SQL:练习题

    CREATE TABLE Addressbook ( regist_no INTEGER NOT NULL, name ) NOT NULL, address ) NOT NULL, tel_no ) ...

  5. Object arrays cannot be loaded when allow_pickle=False

    问题再现 代码是Deep Learning with Python中的: from keras.datasets import imdb (train_data, train_labels), (te ...

  6. Python笔记_第四篇_高阶编程_魔法(术)方法详解(重载的再详解)

    1. 魔法方法是什么? 魔法方法(Magic Method)是Python比较独特的应用,它可以给你的类增加特殊的方法,如果你的对象实现了(重载),这些方法中的某一个,就会被Python所调用.正如装 ...

  7. linux文件软链接与硬链接

    1.命令格式: ln [参数][源文件或目录][目标文件或目录] 软链接只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间. 2.命令功能: Linux文件系统中,有所谓的链接(link),我们 ...

  8. [浅学]POST、GET、PUT、DELETE 请求

    HTTP定义了与服务器交互的不同的方法,最基本的是POST.GET.PUT.DELETE,与其比不可少的URL的全称是资源描述符,我们可以这样理解: url描述了一个网络上资源,而post.get.p ...

  9. 吴裕雄--天生自然 JAVA开发学习:StringBuffer、数组

    public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer(& ...

  10. MyBatis从入门到精通(第6章):MyBatis 高级查询->6.1.2高级结果映射之一对多映射

    jdk1.8.MyBatis3.4.6.MySQL数据库5.6.45.IntelliJ IDEA 2019.3.1 本章主要包含的内容为 MyBatis 的高级结果映射,主要处理数据库一对一.一对多的 ...