# 引入
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. 从静态代理,jdk动态代理到cglib动态代理-一文搞懂代理模式

    从代理模式到动态代理 代理模式是一种理论上非常简单,但是各种地方的实现往往却非常复杂.本文将从代理模式的基本概念出发,探讨代理模式在java领域的应用与实现.读完本文你将get到以下几点: 为什么需要 ...

  2. SpringMvc demo示例及源码详细分析

    三层架构介绍 我们的开发架构一般都是基于两种形式,一种C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器/服务器.在JavaEE开发中,几乎全部都是基于B/S架构的开发.那么在B/S架 ...

  3. (四十二)golang--管道

    假设我们现在有这么一个需求: 计算1-200之间各个数的阶乘,并将每个结果保存在mao中,最终显示出来,要求使用goroutime. 分析: (1)使用goroutime完成,效率高,但是会出现并发/ ...

  4. 2019-10-24:渗透测试,sqli-labe,less18,19关

    less19基于错误_POST_Referer_请求头注入 查看关键源码,跟18关不一样的只是,回显的是Referer不是User-Agent,判断INSERT语句结构:INSERT INTO tab ...

  5. 新闻实时分析系统-Hadoop2.X HA架构与部署

    1.HDFS-HA架构原理介绍 hadoop2.x之后,Clouera提出了QJM/Qurom Journal Manager,这是一个基于Paxos算法实现的HDFS HA方案,它给出了一种较好的解 ...

  6. 【Luogu P3387】缩点模板(强连通分量Tarjan&拓扑排序)

    Luogu P3387 强连通分量的定义如下: 有向图强连通分量:在有向图G中,如果两个顶点vi,vj间(vi>vj)有一条从vi到vj的有向路径,同时还有一条从vj到vi的有向路径,则称两个顶 ...

  7. php 打印数组格式化显示

    输出前添加 <pre>,便可以自动格式化换行显示. print_r("<pre>"); 比如打印数组 : print_r($arr); 输出: Array ...

  8. theano function参数

    train_rbm = theano.function( [index], # inputs cost, # outputs updates=updates, givens={ x: train_se ...

  9. 个人收藏--未整理—C# http/https 上传下载文件

    c# HTTP/HTTPS 文件上传. 分类: .net 2015-02-03 08:36 541人阅读 评论(0) 收藏 举报 方法主体 [csharp] view plaincopy public ...

  10. day20191012笔记

    课程默写笔记: 1.程序架构 C/S 客户端/服务器端 B/S 浏览器/服务器端 2.Tomcat应用服务器 tomcat默认端口号是80:tomcat配置文件中通常端口的定义是8080: 3.使用开 ...