# 引入
import os

# 路径处理 -- 外部资源-os

# 获取当前的工作路径
workspace = os.getcwd() # os模块下的getcwd函数
print(workspace)

# 列出当前路径下所有文件以及文件夹
files = os.listdir(workspace)
print(files)

# 文件名称和路径拼接起来 拼接路径+路径 拼接路径 + 。。。 +文件名称
# ['111.py', '11111', 'homework_20190417_参考答案.py', 'os_practise.py', '__init__.py']
file3 = os.path.join(workspace,"xiaojian",files[2])
file3 = os.path.join(workspace,"\\",files[2])
print(file3)

# 文件在文件系统当中是否存在
# file3 = D:\Pychram-Workspace\python17\class_20190420\xiaojian\homework_20190417_参考答案.py
res = os.path.exists(file3)
print(res)

# 是不是文件,判断文件是否存在
print(os.path.isfile(file3))

# 路径有分割 ### 拼接和分割,有没有直接与操作系统的文件系统挂钩??
# 字符串操作

#file3=D:\Pychram-Workspace\python17\class_20190420\xiaojian\homework_20190417_参考答案.py
file_list = os.path.split(file3) #
print(file_list)

# file_list = ('D:\\Pychram-Workspace\\python17\\class_20190420\\xiaojian', 'homework_20190417_参考答案.py')
# 是不是路径,是路径判断是否存在
print(os.path.isdir(file_list[0])) # \\ -> \

# 'D:\\Pychram-Workspace\\python17\\class_20190420\\xiaojian'
# # \ 转义字符 D:\

# 路径不存在的情况下,创建文件夹。
# D:\\Pychram-Workspace\\python17\\class_20190420\\xiaojian
# 创建一个文件夹 只创建最后一个文件夹,末尾文件夹的前面的所有层级必须在操作系统当中已经存在
#os.mkdir("D:\\Pychram-Workspace\\python17\\class_20190420\\xiaojian")
#os.mkdir("D:\\Pychram-Workspace\\python18\\class_20190420\\xiaojian")

# 创建一系列的文件夹。给定的目录当中,只要是不存在的,都会创建。
#os.makedirs("D:\\Pychram-Workspace\\python18\\class_20190420\\xiaojian")

# 当路径不存在时,才创建 。
if not os.path.exists("D:\\Pychram-Workspace\\python18\\class_20190420\\xiaojian"):
os.makedirs("D:\\Pychram-Workspace\\python18\\class_20190420\\xiaojian")
else:
print("路径已经存在,不用创建!!")

"""
debug小技巧 打断点,F7,F8

文件路径的操作
模块 :os
1、获取当前的工作空间:os.getcwd()
2、列出指定目录下的文件和文件夹名称:os.listdir(目录)
3、将路径和文件拼接起来:os.path.join(a,b)
4、判断一下路径是否存在:os.path.exists(路径)
5、判断路径是一个目录呢,还是一个文件路径呢
os.path.isdir(a) os.path.isfile(a)
6、如果路径不存在,则创建路径。
创建 最后一个路径 os.mkdir(a)
创建 所有不存在的路径 os.makedirs(b)

"""

python学习-os引入的更多相关文章

  1. Python基础-os模块 sys模块

    sys模块 与操作系统交互的一个接口 文件夹相关 os.makedirs('dirname1/dirname2')    可生成多层递归目录 os.removedirs('dirname1')    ...

  2. Python学习笔记(15)- os\os.path 操作文件

    程序1 编写一个程序,统计当前目录下每个文件类型的文件数,程序实现如图: import os def countfile(path): dict1 = {} # 定义一个字典 all_files = ...

  3. python学习之路-6 冒泡算法、递归、反射、os/sys模块详解

    算法 冒泡算法 # 冒泡算法就是将需要排序的元素看作是一个个"气泡",最小的"气泡"最先浮出水面,排在最前面.从小到大依次排列. # 代码如下: li = [9 ...

  4. python学习笔记-os模块参数

    python的os 模块提供了非常丰富的方法用来处理文件和目录.常用的方法如下表所示: os.access(path, mode) 检验权限模式 os.chdir(path) 改变当前工作目录 os. ...

  5. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹

    python学习笔记(五岁以下儿童) 深拷贝-浅拷贝 浅拷贝就是对引用的拷贝(仅仅拷贝父对象) 深拷贝就是对对象的资源拷贝 普通的复制,仅仅是添加了一个指向同一个地址空间的"标签" ...

  6. Python学习的个人笔记(基础语法)

    Python学习的个人笔记 题外话: 我是一个大二的计算机系的学生,这份python学习个人笔记是趁寒假这一周在慕课网,w3cschool,还有借鉴了一些博客,资料整理出来的,用于自己方便的时候查阅, ...

  7. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  8. Deep learning with Python 学习笔记(1)

    深度学习基础 Python 的 Keras 库来学习手写数字分类,将手写数字的灰度图像(28 像素 ×28 像素)划分到 10 个类别 中(0~9) 神经网络的核心组件是层(layer),它是一种数据 ...

  9. python学习笔记——信号模块signal

    基于python学习笔记——多进程间通信——Linux信号基础的学习基础,进一步学习Python标准库中的signal模块. 尽管signal是python中的模块,但是主要针对UNIX平台(比如Li ...

随机推荐

  1. ZeroC ICE源代码中的那些事 - 嵌套类和局部类

    使用嵌套类(类中定义的类,c++没有静态类)或局部类(在函数或成员方法中定义的类),进行行为模式的委托(委托请求)或异步 . java中嵌套类和局部类隐式完成了你对外部对象(实例)访问的私有堆栈的初始 ...

  2. list,tuple,dict,set 思维导图整理

  3. Redis Geo HyperLogLog类型介绍

    ​Geo类型 Redis3.2.0版本推出 可以将用户给定的地理位置信息存储起来,并对这些信息进行操作 GEOADD key longitude latitude member [longitude ...

  4. 微信二维码添加logo

    生成带参数的二维码 为了满足用户渠道推广分析和用户帐号绑定等场景的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有 ...

  5. 【Luogu P4779】dijkstra算法的堆优化

    Luogu P4779 利用堆/优先队列快速取得权值最小的点. 在稠密图中的表现比SPFA要优秀. #include<iostream> #include<cstdio> #i ...

  6. Mysql数据库调优和性能优化的21条最佳实践

    Mysql数据库调优和性能优化的21条最佳实践 1. 简介 在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响.MySQL是目前使用最多的开 ...

  7. scrapy实现自动抓取51job并分别保存到redis,mongo和mysql数据库中

    项目简介 利用scrapy抓取51job上的python招聘信息,关键词为“python”,范围:全国 利用redis的set数据类型保存抓取过的url,现实避免重复抓取: 利用脚本实现每隔一段时间, ...

  8. Linux常见的Shell命令

    1.具体的shell命令用法可以通过help或man命令进入手册来查询其具体的用法.2.终端本质上对应着linux上的/dev/tty设备,linux的多用户登录就是通过不同的/dev/tty设备完成 ...

  9. 【设计模式大法】Iterator模式

    Iterator模式 --一个一个遍历 在Java中的for语句中 i++的作用是让 i 的值在每次循环后自增1,这样就可以访问数组中的下一个元素.下下一个元素.再下下一个元素,也就实现了从头至尾逐一 ...

  10. 10个常见的HTTP状态码

    目录 500 内部服务器错误 404 文件未找到 403 禁止访问 400 错误请求 401 未经授权 200 请求成功 206 部分内容 301 永久重定向 302 临时重定向 502 无效网关 H ...