文件操作

目录管理(os)

  • system:执行系统命令

    # 清空屏幕
    # os.system('cls')
    # 弹出计算器程序
    os.system('calc')
  • name:查看系统名称

    • nt:windows内核
    • posix:类unix内核
  • 获取环境变量:

    # print(os.environ['path'])
    # print(os.environ.get('path2', 'abc'))
    # 这里是对上面的封装
    # print(os.getenv('path2', 'hello'))
    print(os.getenv('XXX'))

    终端操作:

    设置:set XXX=yyy

    获取:set XXX

  • getcwd:获取当前工作目录

    print(os.getcwd())
  • mkdir:创建目录(不能带中间目录)

    os.mkdir('hello')
  • makedirs:创建目录(会自动创建中间目录)

    os.makedirs('a/b/c')
  • rmdir:删除目录(只能删除空目录)

    os.rmdir('hello')
  • rename:重命名(可以是文件或目录)

    os.rename(原名称, 新名称)
  • stat:查看文件信息(也可以是目录)

    os.stat(文件名)
  • 相对目录/绝对目录

    相对目录:有参考的目录
    . 表示当前目录,通过‘./’可以省略
    .. 表示上一级目录,上上一级目录这样表示:../../ 绝对目录:windows中以盘符开头,类unix中以'/'开头的目录 目录分隔符:
    windows:/ 或 \
    类unix:/
    建议:统一使用 / 说明:在文件操作时,相对目录和绝对目录都可以
  • listdir:查看目录的直接子文件

    os.listdir(目录)
  • path

from os import path

# 目录拼接
# print(path.join('abc/def', 'hello.py')) # 提取目录
# print(path.dirname('abc/def/hello.py')) # 提取文件名
# print(path.basename('abc/def/hello.py')) # 切割目录与文件名
# print(path.split('abc/def/hello.py'))
# dir, name = path.split('abc/def/hello.py')
# print(dir, name) # 切割文件名与后缀
# name, ext = path.splitext('hello.py')
# print(name, ext) # 判断文件是否存在(也可以判断目录)
# print(path.exists('hello.py'))
# print(path.exists('aa')) # 判断是否是目录文件
# print(path.isdir('hello.py'))
# print(path.isdir('aa')) # 判断是否是普通文件
# print(path.isfile('hello.py'))
# print(path.isfile('aa')) # 获取文件大小,仅限于普通文件
print(path.getsize('01-os.py'))
# 不可以是目录(大小始终为0)
print(path.getsize('aa'))

练习:实现目录大小的统计,需要使用递归

文件操作

  • 打开文件(open)

    • 示例
    fp = open('00-test.txt', 'r')
    • 参数
    参数(file):操作的文件名
    参数(mode):打开方式
    参数(encoding):指定编码方式,通常不用指定,系统会自动识别
    • 打开方式
    r:只读方式,文件不存在会报错
    w:只写方式,文件不存在会创建,文件存在删除后再创建
    a:追加方式,文件不存在会创建,文件存在直接打开(不会清空),只能向最后追加内容
    r+:在r方式上添加写的功能
    w+:在w方式上添加读的功能
    a+:在a方式上添加读的功能 在上面模式上添加一个字符b,表示二进制方式打开:rb、wb、ab、rb+、wb+、ab+
    说明:没有b的方式文件读写都是str类型,带b的方式文件读写都是bytes
    • 编码方式
    ASCII:美国信息交换标准代码
    ansi:扩展的ASCII
    gb2312:中国的ansi
    gbk:扩充的gb2312 unicode:万国码,将全部国家的字符全部包含进去进行统一编码
    utf-8:可变长度的unicode实现方案,而且对中文支持友好
    • bytes类型
    s = b'hello'
    print(s)
    print(type(s)) # 编码:str => bytes
    s = 'hello'.encode('utf-8')
    print(s) # 解码:bytes => str
    b = s.decode('utf-8')
    print(b)
  • 关闭文件

    fp.close()
  • 文件读写

    # 判断是否可读
    # print(fp.readable())
    # 读取指定长度内容
    # ret = fp.read(3) # 一次读取一行
    # print(fp.readline()) # 读取所有内容,返回一个列表,一行一个元素
    # lines = fp.readlines() # 判断是否能够进行写操作
    # print(fp.writable())
    # fp.write('world')
    # fp.write(b'gogogo')
  • 文件指针

    # 获取文件指针的位置
    print(fp.tell()) # 设置指针偏移
    # 参数1:偏移量
    # 参数2:参考位置,0表示开头,1表示当前,2表示末尾
    # 带b的方式打开,设置偏移没有问题
    # 不带b的方式打开,设置偏移会报错
    fp.seek(-5, 1)
  • 文件删除

    os.remove(文件名)

    练习:(递归)删除一个目录

Python基础—09-文件操作的更多相关文章

  1. python基础篇(文件操作)

    Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...

  2. python基础之文件操作

    对于文件操作中最简单的操作就是使用print函数将文件输出到屏幕中,但是这种操作并不能是文件保存到磁盘中去,如果下调用该数据还的重新输入等. 而在python中提供了必要的函数和方法进行默认情况下的文 ...

  3. Day3 Python基础学习——文件操作、函数

    一.文件操作 1.对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过文件句柄对文件进行操作 关闭文件 #打开文件,读写文件,关闭文件 http://www.cnblogs.com/linha ...

  4. python基础14_文件操作

    文件操作,通常是打开,读,写,追加等.主要涉及 编码 的问题. #!/usr/bin/env python # coding:utf-8 ## open实际上是从OS请求,得到文件句柄 f = ope ...

  5. 【python基础】文件操作

    文件操作目录 一 .文件操作 二 .打开文件的模式 三 .操作文件的方法 四 .文件内光标移动 五. 文件的修改 一.文件操作介绍 计算机系统分为:计算机硬件,操作系统,应用程序三部分. 我们用pyt ...

  6. python基础4文件操作

    在磁盘上读取文件的 功能都是由操作系统来实现的,不允许普通的程序直接操作磁盘,所以读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从这个文件对象中读取数据( ...

  7. python day 09 文件操作

    一 初识文件操作 使⽤用python来读写⽂文件是非常简单的操作. 我们使⽤用open()函数来打开⼀一个⽂文件, 获取到⽂文件句句柄. 然后通过⽂文件句句柄就可以进⾏行行各种各样的操作了了. 根据打 ...

  8. Python基础 之 文件操作

    文件操作 一.路径 文件绝对路径:d:\python.txt 文件相对路径:在IDEA左边的文件夹中 二.编码方式 utf-8 gbk... 三.操作方式 1.只读 r 和 rb 绝对路径的打开操作 ...

  9. Python基础--基本文件操作

    全部的编程语言都一样,学完了一些自带的数据机构后,就要操作文件了. 文件操作才是实战中的王道. 所以,今天就来分享一下Python中关于文件的一些基本操作. open方法 文件模式 这个模式对于写入文 ...

  10. python基础(10):文件操作

    1. 初识文件操作 使⽤python来读写⽂件是非常简单的操作.我们使⽤open()函数来打开⼀个⽂件,获取到⽂ 件句柄,然后通过⽂件句柄就可以进⾏各种各样的操作了,根据打开⽅式的不同能够执⾏的操 作 ...

随机推荐

  1. JS常用的设计模式(3)-——观察者模式

    观察者模式( 又叫发布者-订阅者模式 )应该是最常用的模式之一. 在很多语言里都得到大量应用. 包括我们平时接触的dom事件. 也是js和dom之间实现的一种观察者模式. div.onclick = ...

  2. rabbitmq 命令&& rabbitmq教程(一)

    先来个官方教程 http://www.rabbitmq.com 在windows 下 命名 去掉sudo 我是在windows下测试 用net调用 常用命令 控制台命令:sudo rabbitmqct ...

  3. 从零开始写C# MVC框架之--- 配置log4日志

    在框架中配置日志分2步,一个是在帮助项目Zy.Utilities--Zy.Utility.Core中新建log类,封装写入日志方法,还需要在Zy.Utility.Core添加 log4net 的引用 ...

  4. cocoapods的安装和安装过程中遇到的问题

    查看当前的ruby版本,我的版本是ruby 2.0.0p648 小于2.2安装cocoapods时会遇到以下问题 $ ruby -v 查看当前ruby源,默认为 https://rubygems.or ...

  5. 常用DOM结构方法总结

    ---内容开始--- 获取元素的方法: getElementById() 通过ID名获取元素 getElementsByTagName() 通过元素(标签)名称 getElementsByClassN ...

  6. OAuth2.0 入门与进阶

     一.基础知识 1.OAuth产生背景 很多网站.APP 弱化甚至没有搭建自己的账号体系,而是直接使用社会化登录的方式,这样不仅免去了用户注册账号的麻烦.还可以获取用户的好友关系来增强自身的社交功能. ...

  7. 关于 “VMware Workstation 不可恢复错误- (vcpu-0)”

    重装系统后第一次在 VMware Workstation 上创建虚拟机,结果出现了 VMware Workstation 不可恢复错误: (vcpu-0) 错误. 于是我们遵循它给出的提示,查看一下日 ...

  8. css 字体样式设置大全

    css样式大全(整理版)   字体属性:(font) 大小 {font-size: x-large;}(特大) xx-small;(极小) 一般中文用不到,只要用数值就可以,单位:PX.PD 样式 { ...

  9. 在linux环境下搭建java web测试环境(非常详细!)

    一.项目必备软件及基本思路 项目必备:虚拟机:VMware Workstation (已安装linux的 CentOS6.5版本) 项目:java web项目 (必须在本地部署编译后选择项目的webR ...

  10. matlab练习程序(圆柱投影)

    圆柱投影就是将一张二维的图像投影到三维的圆柱体上,不过在显示图像的时候依然是以二维的形式给出. 投影最重要的步骤就是计算投影变换公式,和图像旋转类似,只要得到变换公式,再依照公式进行代码编写就很容易了 ...