python开发之文件操作用法实例

368次阅读  |  发布于5年以前

本文实例讲述了python开发之文件操作用法。分享给大家供大家参考,具体如下:

先来看看官方API:os-Miscellaneous operating system interfaces

下面是我做的demo:


    import re
    import os
    import time
    #图片文件路径
    image_path = 'E:\\test\\20130627_140132Hongten.jpg'
    #文件夹路径
    dir_path = 'E:\\test\\hongten'
    #文件路径
    file_abs_path = 'E:\\test\\hongten.txt'
    #得到当前工作空间目录
    def getcwd():
      return os.getcwd()
    #获取指定文件夹下面的所有文件及文件夹
    #如果指定的文件夹不存在,则返回相应的提示信息
    def listdir(dir_path):
      if os.path.exists(dir_path):
        return os.listdir(dir_path)
      else:
        return '目录'+ dir_path + '不存在'
    def isfile(file_path):
      if os.path.exists(file_path):
        return os.path.isfile(file_path)
      else:
        return '文件'+ dir_path + '不存在'
    if __name__ == '__main__':
      print('当前的工作空间是:{0}'.format(getcwd()))
      print('当前的工作空间下的文件及目录:',listdir(getcwd()))
      print('#' * 40)
      print(listdir('c:\\test'))
      print('#' * 40)
      print(isfile(image_path))
      print('#' * 40)
      array = os.path.split(image_path)
      print(array)
      #文件全名:20130627_140132Hongten.jpg
      file_full_name = array[1]
      name = os.path.splitext(file_full_name)
      #文件名:20130627_140132Hongten
      file_name = name[0]
      #文件后缀:.jpg
      file_ext = name[1]
      print('文件全名:{0},文件名:{1},文件后缀:{2}'.format(file_full_name,file_name,file_ext))
      print('#' * 40)
      #创建空文件夹
      #os.mkdir('E:\\mydir')
      #创建多级目录
      #os.makedirs(r'E:\\bb\\cc')
      print('#' * 40)
      #打开一个文件
      fp = open(file_abs_path,'w+')
      #print('读取文件:{0}的第一行:{1}'.format(file_abs_path,fp.readline()))
      #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。
      #如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。
      #print('读取文件:{0}所有内容:{1}'.format(file_abs_path,fp.readlines()))
      content = 'this is a test message!!\ngood boy!\ngogo......\nhello,I\'m Hongten\nwelcome to my space!'
      fp.write(content)
      fp.flush()
      fp.close()
      fp = open(file_abs_path,'r+')
      print('读取文件:{0}所有内容:{1}'.format(file_abs_path,fp.readlines()))

运行效果:


    Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.1600 32 bit (Intel)] on win32
    Type "copyright", "credits" or "license()" for more information.
    >>> ================================ RESTART ================================
    >>> 
    当前的工作空间是:D:\Python33\workspace
    当前的工作空间下的文件及目录: ['rename.py', 'test_annotation.py', 'test_class.py', 'test_exception.py', 'test_exit.py', 'test_file.py', 'test_getA.py', 'test_hello.py', 'test_import.py', 'test_input.py', 'test_loops.py', 'test_myclass.py', 'test_os.py', 'test_range.py', 'test_str.py', 'test_string.py', 'test_while.py', 'test_with.py']
    ########################################
    目录c:\test不存在
    ########################################
    True
    ########################################
    ('E:\\test', '20130627_140132Hongten.jpg')
    文件全名:20130627_140132Hongten.jpg,文件名:20130627_140132Hongten,文件后缀:.jpg
    ########################################
    ########################################
    读取文件:E:\test\hongten.txt所有内容:['this is a test message!!\n', 'good boy!\n', 'gogo......\n', "hello,I'm Hongten\n", 'welcome to my space!']
    >>>

希望本文所述对大家Python程序设计有所帮助。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8