python操作文件和目录查看、创建、删除、复制
python内置了os模块可以直接调用操作系统提供的接口函数,os.name查询的是操作系统,‘nt’表示windows系统
>>> import os
>>> os.name
'nt'
使用os.environ查看环境变量:
>>> os.environ
environ({'ADSK_3DSMAX_X64_2014':AppData\\Roaming', ……})
还可以获得某个具体的环境变量的值:
>>> os.environ.get('path')
'C:\\ProgramData\\Oracle\\Java\\ja……'
>>> os.environ.get('haha','nice') #如果没有指定的环境变量,则返回指定的值
'nice'
查看当前目录的绝对路径:
>>> os.path.abspath('.')
'C:\\Users\\WC'
在某个目录下面创建新目录,需要两个步骤:先join(合成路径),再mkdir()创建
>>> os.path.join('E:\Python3.6.3\workspace','测试文件夹')
'E:\\Python3.6.3\\workspace\\测试文件夹'
>>> os.mkdir('E:\\Python3.6.3\\workspace\\测试文件夹')
删除目录:
>>> os.rmdir('E:\\Python3.6.3\\workspace\\测试文件夹')
拆分目录或者文件的路径,拆分结果分为两部分,后一部分总是最后级别的目录或者文件名:
>>> os.path.split('E:\Python3.6.3\workspace\err.py')
('E:\\Python3.6.3\\workspace', 'err.py')
>>> os.path.split('E:\Python3.6.3\workspace')
('E:\\Python3.6.3', 'workspace')
获得文件扩展名,返回的是一个list:
>>> os.path.splitext('E:\Python3.6.3\workspace\err.py')
('E:\\Python3.6.3\\workspace\\err', '.py')
重命名:
>>> os.rename('E:\\Python3.6.3\\workspace\\err.py','E:\\Python3.6.3\\workspace\\reerr.py')
切换目录:
>>> os.chdir('E:\\Python3.6.3\\workspace\\')
>>> os.path.abspath('.')
'E:\\Python3.6.3\\workspace'
复制文件,需要使用python中高级的文件操作模块shutil。shutil.copy(s,d)可以实现文件复制功能,s,d都是字符串格式,s表示源文件,d表示目的文件或者目录,当d是文件名时,它会被用来当做复制后的文件名称,效果相当于 复制 +重命名:
>>> import shutil
>>> import os
>>> shutil.copy('first.py','E:\Python3.6.3\workspace\备份')
'E:\\Python3.6.3\\workspace\\备份\\first.py'
>>> shutil.copy('first.py','E:\\Python3.6.3\\workspace\\备份\\first_copy.py')
'E:\\Python3.6.3\\workspace\\备份\\first_copy.py'
(以上注意的是,当重命名一个文件的时候,windows下的目录路径要使用\\代替\)
复制文件的内容:
>>> shutil.copyfile('E:\\Python3.6.3\\workspace\\备份\\first.py','E:\\Python3.6.3\\workspace\\备份\\first_copy.py')
'E:\\Python3.6.3\\workspace\\备份\\first_copy.py'
判断对象是不是目录\文件:
>>> os.path.isdir('E:\Python3.6.3\workspace\first.py')
False
>>> os.path.isdir('E:\Python3.6.3\workspace')
True
>>> os.path.isfile('E:\Python3.6.3\workspace\hello.py')
True
>>> os.path.isfile('E:\Python3.6.3\workspace')
Fals
练习:列举指定目录下包括子目录中所有的包含指定字符串的文件
>>> import os
>>> def searchStr(d,str):
... for i in os.listdir(d):
... sd = os.path.join(os.path.abspath(d),i)
... if str in i:
... print(sd)
... if os.path.isdir(sd):
... searchStr(sd,str)
...
>>> searchStr('E:\Python3.6.3\workspace','f')
E:\Python3.6.3\workspace\err_logginginfo.py
E:\Python3.6.3\workspace\first.py
E:\Python3.6.3\workspace\备份\first.py
E:\Python3.6.3\workspace\备份\first_copy.py
python操作文件和目录查看、创建、删除、复制的更多相关文章
- Python操作文件和目录
Python操作文件和目录 读写文件比较简单,有一点特别注意就好了 windows下Python默认打开的文件以gbk解码,而一般我们的文件是utf-8编码的,所以如果文本含有中文,就会出现异常或者乱 ...
- 【Python】[IO编程]文件读写,StringIO和BytesIO,操作文件和目录,序列化
IO在计算机中指Input/Output,也就是输入和输出. 1.文件读写,1,读文件[使用Python内置函数,open,传入文件名标示符] >>> f = open('/User ...
- Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化
IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...
- 【转】Python之文件与目录操作(os、zipfile、tarfile、shutil)
[转]Python之文件与目录操作(os.zipfile.tarfile.shutil) Python中可以用于对文件和目录进行操作的内置模块包括: 模块/函数名称 功能描述 open()函数 文件读 ...
- Python学习笔记(二十五)操作文件和目录
摘抄:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014319253241 ...
- python学习笔记 操作文件和目录
如果我们要操作文件.目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如dir.cp等命令. 如果要在Python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令只是简单地调用了操 ...
- python的I/O编程:文件打开、操作文件和目录、序列化操作
1 文件读写 1.1 打开文件: open(r'D:\text.txt') 1.2 文件模式 值 功能描述 'r' 读模式 'w' 写模式 'a' 追加模式 'b' 二进制模式 '+' 读写模式 1. ...
- IO编程、操作文件或目录、序列化、JSON
IO中指Input/Output,即输入和输出:涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口 1.由于CPU和内存的速度远远高于外设的速度,所以,在IO编程中,存在速度严重不匹配问题.eg ...
- Python3 IO编程之操作文件和目录
如果我们要操作文件,目录,可以在命令行下面输入操作系统提供的各种命令来完成.比如ls,cp等命令 如果要在python程序中执行这些目录和文件的操作怎么办?其实操作系统提供的命令指示简单地调用了操作系 ...
随机推荐
- 新闻实时分析系统Hive与HBase集成进行数据分析
(一)Hive 概述 (二)Hive在Hadoop生态圈中的位置 (三)Hive 架构设计 (四)Hive 的优点及应用场景 (五)Hive 的下载和安装部署 1.Hive 下载 Apache版本的H ...
- LeetCode 5112. 十六进制魔术数字 Hexspeak
地址 https://leetcode-cn.com/problems/hexspeak/ 题目描述字母大写的十六进制字符串,然后将所有的数字 0 变成字母 O ,将数字 1 变成字母 I . 如果 ...
- MovibleNet
MobileNet MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications MobileN ...
- oracle查询练习
1成绩表score如下,查询出每门课都大于80分的学生姓名 准备数据 -建表- SQL> create table score( 2 name varchar(50), 3 kech ...
- LNMP Shell脚本发布
#!/bin/bash # : #This author is DKS #auto install nginx mysql php ################################## ...
- 上传一个项目到GitHub
在github上创建hello的仓库 上传本地项目文件 echo "# hello" >> README.md git init git add README.md g ...
- php方法注释
注释格式 <?php /** * @method 发送邮件 * @url email/send?token=xxx * @http POST * @param token string [必填] ...
- 【nodejs原理&源码赏析(9)】用node-ssh实现轻量级自动化部署
[摘要] node脚本实现轻量级自动化部署 示例代码托管在:http://www.github.com/dashnowords/blogs 一. 需求描述 前端工程出包后实现简易的自动化部署. 二. ...
- 数据库Oracle通用函数
通用函数:可用于任意数据类型,并且适用于空值.• NVL (expr1, expr2) • NVL2 (expr1, expr2, expr3) • NULLIF (expr1, expr2) • C ...
- 图形界面GUI
JFrame jframe = new JFrame(); //创建一个窗口 jframe.setVisible(true) //设置窗口显示 jframe.setLocation() //设置窗口位 ...