加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

Python基础—09-文件操作

发布时间:2020-12-17 00:23:08 所属栏目:Python 来源:网络整理
导读:h1 id="文件操作" data-source-line="1"文件操作 h3 id="目录管理os" data-source-line="3"目录管理(os) ul data-source-line="5" system:执行系统命令 os.system( ) name:查看系统名称 nt:windows内核 posix:类unix内核 获取环境变量: (os.getenv( ))

<h1 id="文件操作" data-source-line="1">文件操作
<h3 id="目录管理os" data-source-line="3">目录管理(os)
<ul data-source-line="5">

  • system:执行系统命令

    os.system()
  • name:查看系统名称

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

    (os.getenv())

    终端操作:

    设置:set XXX=yyy

    获取:set XXX

  • getcwd:获取当前工作目录

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

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

    os.makedirs()
  • rmdir:删除目录(只能删除空目录)

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

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

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

    //../绝对目录:windows中以盘符开头,类unix中以<span style="color: #800000">'<span style="color: #800000">/<span style="color: #800000">'<span style="color: #000000">开头的目录

    目录分隔符:
    windows:/<span style="color: #000000"> 或
    类unix:/<span style="color: #000000">
    建议:统一使用 /<span style="color: #000000">

    说明:在文件操作时,相对目录和绝对目录都可以

  • listdir:查看目录的直接子文件

    os.listdir(目录)
  • path

  • os <span style="color: #008000">#<span style="color: #008000"> 目录拼接<span style="color: #008000">

    <span style="color: #008000"> print(path.join('abc/def','hello.py'))

    <span style="color: #008000">#<span style="color: #008000"> 提取目录<span style="color: #008000">

    <span style="color: #008000"> print(path.dirname('abc/def/hello.py'))

    <span style="color: #008000">#<span style="color: #008000"> 提取文件名<span style="color: #008000">

    <span style="color: #008000"> print(path.basename('abc/def/hello.py'))

    <span style="color: #008000">#<span style="color: #008000"> 切割目录与文件名<span style="color: #008000">

    <span style="color: #008000"> print(path.split('abc/def/hello.py'))<span style="color: #008000">

    <span style="color: #008000"> dir,name = path.split('abc/def/hello.py')<span style="color: #008000">

    <span style="color: #008000"> print(dir,name)

    <span style="color: #008000">#<span style="color: #008000"> 切割文件名与后缀<span style="color: #008000">

    <span style="color: #008000"> name,ext = path.splitext('hello.py')<span style="color: #008000">

    <span style="color: #008000"> print(name,ext)

    <span style="color: #008000">#<span style="color: #008000"> 判断文件是否存在(也可以判断目录)<span style="color: #008000">

    <span style="color: #008000"> print(path.exists('hello.py'))<span style="color: #008000">

    <span style="color: #008000"> print(path.exists('aa'))

    <span style="color: #008000">#<span style="color: #008000"> 判断是否是目录文件<span style="color: #008000">

    <span style="color: #008000"> print(path.isdir('hello.py'))<span style="color: #008000">

    <span style="color: #008000"> print(path.isdir('aa'))

    <span style="color: #008000">#<span style="color: #008000"> 判断是否是普通文件<span style="color: #008000">

    <span style="color: #008000"> print(path.isfile('hello.py'))<span style="color: #008000">

    <span style="color: #008000"> print(path.isfile('aa'))

    <span style="color: #008000">#<span style="color: #008000"> 获取文件大小,仅限于普通文件
    <span style="color: #0000ff">print(path.getsize(<span style="color: #800000">'<span style="color: #800000">01-os.py<span style="color: #800000">'<span style="color: #000000">))
    <span style="color: #008000">#<span style="color: #008000"> 不可以是目录(大小始终为0)
    <span style="color: #0000ff">print(path.getsize(<span style="color: #800000">'<span style="color: #800000">aa<span style="color: #800000">'))

    <blockquote data-source-line="136">

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

      打开文件(open)

      • 示例
      fp = open(,)
      • 参数
      • 打开方式
      +++在上面模式上添加一个字符b,表示二进制方式打开:rb、wb、ab、rb+、wb+、ab+<span style="color: #000000">
      说明:没有b的方式文件读写都是str类型,带b的方式文件读写都是bytes

      • 编码方式
      unicode:万国码,将全部国家的字符全部包含进去进行统一编码
      utf
      -8:可变长度的unicode实现方案,而且对中文支持友好

      • bytes类型
      s = b <span style="color: #008000">#<span style="color: #008000"> 编码:str => bytes
      s = <span style="color: #800000">'
      <span style="color: #800000">hello
      <span style="color: #800000">'
      .encode(<span style="color: #800000">'
      <span style="color: #800000">utf-8<span style="color: #800000">'<span style="color: #000000">)
      <span style="color: #0000ff">print<span style="color: #000000">(s)

      <span style="color: #008000">#<span style="color: #008000"> 解码:bytes => str
      b = s.decode(<span style="color: #800000">'<span style="color: #800000">utf-8<span style="color: #800000">'<span style="color: #000000">)
      <span style="color: #0000ff">print(b)

    • 关闭文件

      fp.close()
    • 文件读写

      <span style="color: #008000">#<span style="color: #008000"> 一次读取一行<span style="color: #008000">

      <span style="color: #008000"> print(fp.readline())

      <span style="color: #008000">#<span style="color: #008000"> 读取所有内容,返回一个列表,一行一个元素<span style="color: #008000">

      <span style="color: #008000"> lines = fp.readlines()

      <span style="color: #008000">#<span style="color: #008000"> 判断是否能够进行写操作<span style="color: #008000">

      <span style="color: #008000"> print(fp.writable())<span style="color: #008000">

      <span style="color: #008000"> fp.write('world')<span style="color: #008000">

      <span style="color: #008000"> fp.write(b'gogogo')

    • 文件指针

      <span style="color: #008000">#<span style="color: #008000"> 设置指针偏移<span style="color: #008000">

      <span style="color: #008000"> 参数1:偏移量<span style="color: #008000">

      <span style="color: #008000"> 参数2:参考位置,0表示开头,1表示当前,2表示末尾<span style="color: #008000">

      <span style="color: #008000"> 带b的方式打开,设置偏移没有问题<span style="color: #008000">

      <span style="color: #008000"> 不带b的方式打开,设置偏移会报错

      fp.seek(-5,1)

    • 文件删除

      os.remove(文件名)

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

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读