在python中执行和操作目录和文件的操作是通过内置的python OS模块封装的函数实现的。

首先导入模块,并查看操作系统的类型:

>>> import os
os.name # 操作系统类型
'nt'

nt,是Windows;posix是Linux或者unix

1、对目录和文件的操作。

>>> os.path#查看当前工作路径
<module 'ntpath' from 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\ntpath.py'> >>> os.path.abspath('.')#查看当前工作的绝对路径
'C:\\Users\\Administrator\\Desktop\\enen\\python' >>> os.path.join('C:\\Users\\Administrator\\Desktop\\enen\\python','dede')#在当前目录下新建一个文件夹,并将文件路径显示出来
'C:\\Users\\Administrator\\Desktop\\enen\\python\\dede' >>> os.mkdir('C:\\Users\\Administrator\\Desktop\\enen\\python\\test')#创建一个目录 >>> os.rmdir('C:\\Users\\Administrator\\Desktop\\enen\\python\\test')#删除一个目录。
>>> #注意,Windows和Linux环境下路径表示有所差异

2、对目录文件路径拆分

>>> os.path.split('C:\\Users\\Administrator\\Desktop\\enen\\python\\test.txt') #对当前文件路径拆分
('C:\\Users\\Administrator\\Desktop\\enen\\python', 'test.txt')
>>> os.path.split('C:\\Users\\Administrator\\Desktop\\enen\\python\\te.txt')#对当前不存在的文件路径进行拆分
('C:\\Users\\Administrator\\Desktop\\enen\\python', 'te.txt')
>>>
>>> os.path.splitext('C:\\Users\\Administrator\\Desktop\\enen\\python\\test.txt')#使用splitext进行路径拆分
('C:\\Users\\Administrator\\Desktop\\enen\\python\\test', '.txt')

以上注意两点:a.合并、拆分路径的函数并不要求目录和文件要真实存在,它们只对字符串进行操作,例如演示代码所示。b.使用splitext()进行拆分可以直接得到文件的扩展名。

3、复制文件的函数在os模块中没有提供,可以使用shutil模块中的copyfile()函数进行操作。它是os模块的补充。有关shutil模块中函数的调用http://www.jb51.net/article/87984.htm

4、对当前目录文件进行的筛选:

>>> [x for x in os.listdir('.') if os.path.isdir(x)]#使用列表生成式,并使用if进行判断,os.listdir可以列出文件和目录,os.path.isdir()函数判断某一路径是否为目录。
['.lein', '.local', '.m2', '.npm', '.ssh', '.Trash', '.vim', 'Applications', 'Desktop', ...]
>>> [x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1]=='.py']#筛选出扩展名是py的所有文件,语法使用很是精巧,对当前拆分的文件路径进行索引判断,返回py扩展名的文件。
['apis.py', 'config.py', 'models.py', 'pymonitor.py', 'test_db.py', 'urls.py', 'wsgiapp.py']

学习廖老师教程做的笔记。

python中OS模块操作文件和目录的更多相关文章

  1. Python OS模块操作文件和目录

    #-*-coding:utf-8-*- import os import shutil ###############OS模块############## #获得当前python脚本的工作目录 os. ...

  2. python中os模块操作目录与文件名小结

    (1). 创建目录: SigleDir = 'sigle_layer' MultiDir = 'D:\\Web\\multi_layer' 创建单层目录: os.mkdir(SigleDir) 创建多 ...

  3. python中os模块操作

    学习时总结的一些常用方法>>>> 目录函数 os.getcwd() 返回当前工作目录 os.chdir() 改变工作目录 os.listdir(path="path& ...

  4. python 查看文件夹权限组和用OS模块操作文件夹

    @建议操作server服务器文件夹时可以映射网络驱动盘 import win32securityimport ntsecuritycon as con FILENAME = r'D:\tmp\acc_ ...

  5. os,操作文件和目录

    如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操 ...

  6. python中os模块中文帮助

    python中os模块中文帮助   python中os模块中文帮助文档文章分类:Python编程 python中os模块中文帮助文档 翻译者:butalnd 翻译于2010.1.7——2010.1.8 ...

  7. python中os模块在windows下的使用

    今天学习了一下Python的os模块,主要是针对文件夹和文件路径的一系列操作. 与Python内置函数相比这里这里的函数功能更多样化,功能也更强大.但是学习过程中我发现很多函数都是只适用于unix系统 ...

  8. python中os模块

    os  模块 操作系统模块,该模块主要处理与操作系统相关的操作 最常用是文件操作:打开.读取 import os os.getcwd() #获取当前执行文件夹路径 ​ os.chdir('dirnam ...

  9. 小白进阶—python中os模块用法

    一.os模块概述 python中的os 模块包含普遍的操作系统功能,这个模块不受平台限制,即windows和linux上都适用. 二.常用方法 1.os.name 返回正在使用的平台.如果是windo ...

随机推荐

  1. Python之pexpect详解

    一.引子 Pexpect程序主要用于人机对话的模拟,就是那种系统提问,人来回答yes/no,或者账号登陆输入用户名和密码等等的情况.因为这种情况特别多而且繁琐,所以很多语言都有各种自己的实现.最初的第 ...

  2. Window10家庭版启动hyper-v虚拟机组件

    在安装docker的时候发现如果直接使用docker for windows,对系统的要求是window10专业版或企业版,家庭版本身没有hyper-v,不能支持 虚拟化.但是后来我在搜索过程中发现, ...

  3. 安装VMware-tools时,一直停在“The path "" is not valid path to the gcc binary.”

    解决方案: 1.先停止安装(ctrl+Z) 2.在终端输入: yum -y update yum -y install kernel-headers kernel-devel gcc 3.重新安装VM ...

  4. SQL Server存储过程用法介绍

    存储过程其实就是已预编译为可执行过程的一个或多个SQL语句. 通过调用和传递参数即可完成该存储过程的功能. 前面有介绍过存储过程的一些语法,但是没有详细示例,今天我们来一起研究一下存储过程. 提高性能 ...

  5. 高可用OpenStack(Queen版)集群-2.基础服务

    参考文档: Install-guide:https://docs.openstack.org/install-guide/ OpenStack High Availability Guide:http ...

  6. ossec代理

    代理端 OSSEC有两种代理端:可安装的代理端和哑代理端(免安装).可安装的代理端被安装在主机上,通过OSSEC的加密协议将主机的信息发送到OSSEC服务器.亚代理端则不需在远端主机进行安装.他作为O ...

  7. 最新Python笔试题2017 涵盖知识面广泛

    引言 想找一份Python开发工作吗?那你很可能得证明自己知道如何使用Python.下面这些问题涉及了与Python相关的许多技能,问题的关注点主要是语言本身,不是某个特定的包或模块.每一个问题都可以 ...

  8. Daily Scrumming* 2015.10.30(Day 11)

    一.总体情况总结 今日项目总结: 1.前后端同一了API设计以及API权限认证.用户状态保存的开发方案 2.API以及后端模型已经开始开发,前端UEditor开始学习,本周任务有良好的起步 3.前后端 ...

  9. connect by prior id= pid start with id='1' 树结构查询

    基础表创建: with temp as ( ' id, '' pid from dual union all ' pid from dual union all ' pid from dual uni ...

  10. 读《我是IT小小鸟》有感

    我是一只IT小小鸟,我与IT结缘.书中是作者对个人经历与经验在IT下的体会,却给了我们很好的借鉴. IT这门行业,不仅仅再局限于如我们高中老师教学所要求的内容.IT更加开放,可以通过GitHub.CS ...