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

yipeiwu_com7年前Python基础

本文实例讲述了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程序设计有所帮助。

相关文章

Python使用gRPC传输协议教程

Python使用gRPC传输协议教程

gRPC 简介: gRPC 是一款高性能、开源的 RPC 框架,产自 Google,基于 ProtoBuf 序列化协议进行开发,支持多种语言(Golang、Python、Java等),...

matplotlib subplots 设置总图的标题方法

如下所示: matplotlib subplots 设置总图的标题 : fig.suptitle(dname,fontsize=16,x=0.53,y=1.05,) 以上这篇matplo...

Python时间序列缺失值的处理方法(日期缺失填充)

前言 因近期进行时间序列分析时遇到了数据预处理中的缺失值处理问题,其中日期缺失和填充在网上没有找到较好较全资料,耗费了我一晚上工作时间,所以下面我对这次时间序列缺失值处理学习做了以下小...

操作Windows注册表的简单的Python程序制作教程

通过Python操作注册表有两种方式,第一种是通过Python的内置模块 _winreg;另一种方式就是Win32 Extension For Python 的win32api模块,但是...

pytorch 实现打印模型的参数值

pytorch 实现打印模型的参数值

对于简单的网络 例如全连接层Linear 可以使用以下方法打印linear层: fc = nn.Linear(3, 5) params = list(fc.named_paramet...