目录处理 OS
目录处理
目录-->路径,文件夹 文件:html

1. 新建和删除一个目录
import os #引入os目录
from xx import xx
os.mkdir("D:\\PycharmProjects\\RobotFramework\\vda_pakage\\Learning\\python9") #绝对路径

os.rmdir("python8") #相对路径

2. 获取目录 文件的路径 __file__指定的是当前的文件
print(os.path.realpath(__file__)) #返回绝对路径及该路径下当前的文件
print(os.getcwd()) #返回当前绝对路径
D:\PycharmProjects\RobotFramework\vda_pakage\Learning\class_07_02.py
D:\PycharmProjects\RobotFramework\vda_pakage\Learning

print(os.path.dirname(__file__)) #返回指定路径的目录
print(os.path.basename(__file__)) #返回当前工作的文件名
D:/PycharmProjects/RobotFramework/vda_pakage/Learning
class_07_02.py

3. 拼接路径以及拼接之后新建
path = "D:\\PycharmProjects\\RobotFramework\\vda_pakage\\Learning"
new_path = os.path.join(path, "python10")
print(new_path) # D:\PycharmProjects\RobotFramework\vda_pakage\Learning\python10
拼接之后再去新建目录,只能新建一级,不能跨级
os.mkdir(new_path)
new_path_1 = os.path.join(path, "python8\\python9", "python10")
print(new_path_1)
os.mkdir(new_path_1) #D:\PycharmProjects\RobotFramework\vda_pakage\Learning\python8\python9\python10

4. 获取目录信息,判断目录的性质
print(os.listdir("D:\\PycharmProjects\\RobotFramework\\vda_pakage\\Learning"))
os.listdir返回的结果是列表类型的数据,返回给出的路径下的文件和目录
['class1.py', 'class_07_02.py', 'hm_0630.py', 'path.py', 'python10', 'python8', 'python9', 'task2_06_25.py', 'task3_06_27.py', 'task3_addition_06_27.py', 'task4_06_30_fresh.py', 'task4_06_30_middle.py', 'task4_06_30_primary.py', '__init__.py']

判断文件或是目录的性质,返回的数据是布尔类型(True/False)
print(os.path.isfile(__file__)) #True
print(os.path.isdir(__file__)) #False

5. 对文件路径进行切割split,返回两个值,数据类型为元组
print(os.getcwd())
print(os.path.split(os.getcwd()))
D:\PycharmProjects\RobotFramework\vda_pakage\Learning
('D:\\PycharmProjects\\RobotFramework\\vda_pakage', 'Learning')
print(os.path.split(os.path.realpath(__file__)))
('D:\\PycharmProjects\\RobotFramework\\vda_pakage\\Learning', 'class_07_02.py')

#当前目录下创建3个文件夹,命名为test0,test1,test2
for i in range(3):
os.mkdir('test'+str(i))

Python中的OS对路径的操作以及应用的更多相关文章

  1. 善于利用python中的os模块

    作为一个程序猿,平时善于利用python中的os模块进行路径等操作,会省去很多麻烦,下面总结一下我平时经常用到的方法: import os os.getcwd() # 获取当前文件所在的目录 os.p ...

  2. Python中对 文件 的各种骚操作

    Python中对 文件 的各种骚操作 python中对文件.文件夹(文件操作函数)的操作需要涉及到os模块和shutil模块. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getc ...

  3. python中的os.path.dirname与os.path.dirname(__file__)的用法

    python中的os.path.dirname的用法 os.path.dirname(path) 语法:os.path.dirname(path) 功能:去掉文件名,返回目录 如: print(os. ...

  4. Python中,os.listdir遍历纯数字文件乱序如何解决

    Python中,os.listdir遍历纯数字文件乱序如何解决 日常跑深度学习视觉相关代码时,常常需要对数据集进行处理.许多图像文件名是利用纯数字递增的方式命名.通常所用的排序函数sort(),是按照 ...

  5. Python中实现对list做减法操作介绍

    Python中实现对list做减法操作介绍 这篇文章主要介绍了Python中实现对list做减法操作介绍,需要的朋友可以参考下 问题描述:假设我有这样两个list, 一个是list1,list1 = ...

  6. Python中使用os模块执行远程命令

    1. 使用os模块远程执行命令 服务端代码 1 import socket 2 import os 3 4 sh_server = socket.socket() #创建一个socket对象 5 sh ...

  7. python中的os模块

    os模块 os模块的作用: os,语义为操作系统,所以肯定就是操作系统相关的功能了,可以处理文件和目录这些我们日常手动需要做的操作,就比如说:显示当前目录下所有文件/删除某个文件/获取文件大小…… 另 ...

  8. Python中的两种路径

    Java中有两种路径,一种是操作系统的路径path,另一种是类路径classpath. Python中也是如此,一种是操作系统环境变量中的path,另一种是PYTHONPATH. 当import xx ...

  9. python 中的os模块

    python os模块   Python os 模块提供了一个统一的操作系统接口函数 一.对于系统的操作 1.os.name 当前使用平台 其中 ‘nt’ 是 windows,’posix’ 是lin ...

随机推荐

  1. Redis之各版本特性

    1.Redis2.6 Redis2.6在2012年正是发布,经历了17个版本,到2.6.17版本,相对于Redis2.4,主要特性如下: 1)服务端支持Lua脚本. 2)去掉虚拟内存相关功能. 3)放 ...

  2. 【Git的基本操作九】ssh免密登录

    SSH免密登录 1. 进入用户家目录 cd ~ 2. 删除原有的 .ssh 目录 rm -r .ssh 3. 运行命令生成 .ssh 目录 ssh-keygen -t rsa -C github或gi ...

  3. IPC之mq_sysctl.c源码解读

    // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (C) 2007 IBM Corporation * * Author: Cedric ...

  4. Boost::pool (1)

    POOL 什么是pool 池分配是一种非常快速的内存分配方案,但其使用受到限制.有关池分配的更多信息(也称为简单隔离存储,请参阅 池化概念和简单隔离存储). 我为什么要使用Pool? 使用池可以更好地 ...

  5. Delphi用QJSON解析JSON格式的数据 【转】

    本来用superobject来解析JSON已经够用了,可惜这个东东不能在移动端使用,于是找到QJSON来处理. 这是一个国内高手写开源免费的东西,赞一个. 假入数据如下: {"message ...

  6. java线程基础巩固---通过实验分析This锁和Class锁的存在

    This锁: 关于什么是This锁下面用实现来说明一下它: 那下面用两个线程分别调用这两个方法,如下: 看结果: 可见两个方法是同时输出的,因为m2()方法并未上锁,所以就不存在争锁的问题,那这时给m ...

  7. libusb 3.0

    1)usb3.0 在windows使用winusb时,出现ReadFile的input buffer 太大时,读不到数据问题? 2)linux下,usb 3.0 libusb_claim_interf ...

  8. 关于TAILQ链表节点删除问题

    这两天偶遇无线驱动中对链表节点删除的问题,刚开始修改代码的时候并没有很在意,把TAILQ链表当成一般的链表来处理,虽然修改以后没有出现段错误,但是后面review代码的时候发现,这样改不对.后面花了点 ...

  9. vue-cli中模拟数据的两种方法

    我所使用的是新版vue-cli 首先进行所需插件的安装,vue-resource,json-server,proxyTable. 目录结构如图 在main.js中引入vue-resource模块,Vu ...

  10. linux命令集锦 基于centos7---优化linux的命令

    sed -i ‘s###g’ /etc/selinux/config  3个# 用于更改selinux配置文件:sed -i 's#SELINUX=enforcing#SELINUX=disabled ...