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


Posted in Python onNovember 13, 2015

本文实例讲述了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 相关文章推荐
利用aardio给python编写图形界面
Aug 21 Python
python scipy求解非线性方程的方法(fsolve/root)
Nov 12 Python
Python设计模式之抽象工厂模式原理与用法详解
Jan 15 Python
python3人脸识别的两种方法
Apr 25 Python
Python的numpy库下的几个小函数的用法(小结)
Jul 12 Python
pandas实现将日期转换成timestamp
Dec 07 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
Dec 31 Python
基于logstash实现日志文件同步elasticsearch
Aug 06 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
python 实现定时任务的四种方式
Apr 01 Python
Python Pandas 删除列操作
Mar 16 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
Apr 21 Python
python开发中range()函数用法实例分析
Nov 12 #Python
python开发中module模块用法实例分析
Nov 12 #Python
Python中Class类用法实例分析
Nov 12 #Python
python开发之函数定义实例分析
Nov 12 #Python
python开发之字符串string操作方法实例详解
Nov 12 #Python
深入浅析Python字符编码
Nov 12 #Python
python开发之for循环操作实例详解
Nov 12 #Python
You might like
PHP中全面阻止SQL注入式攻击分析小结
2012/01/30 PHP
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
基于MySQL体系结构的分析
2013/05/02 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
php模板引擎技术简单实现
2016/03/15 PHP
Yii2.0多文件上传实例说明
2017/07/24 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
Jquery中Event对象属性小结
2015/02/27 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
2016/01/05 Javascript
AngularJS 中的Promise --- $q服务详解
2016/09/14 Javascript
jQuery右下角悬浮广告实例
2016/10/17 Javascript
jQuery实现联动下拉列表查询框
2017/01/04 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
vue中动态绑定表单元素的属性方法
2018/02/23 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
让mocha支持ES6模块的方法实现
2020/01/14 Javascript
js实现动态时钟
2020/03/12 Javascript
Python enumerate遍历数组示例应用
2008/09/06 Python
python线程池threadpool实现篇
2018/04/27 Python
Python reshape的用法及多个二维数组合并为三维数组的实例
2020/02/07 Python
python 瀑布线指标编写实例
2020/06/03 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
CSS3 制作旋转的大风车(充满童年回忆)
2013/01/30 HTML / CSS
Html5实现二维码扫描并解析
2016/01/20 HTML / CSS
会计专业个人求职信范文
2014/01/08 职场文书
在校生自我鉴定
2014/01/23 职场文书
大四自我鉴定
2014/02/08 职场文书
运动会广播稿20字
2014/02/18 职场文书
青春无悔演讲稿
2014/05/08 职场文书
机关党员进社区活动总结
2014/07/05 职场文书
组工干部对照检查材料
2014/08/25 职场文书
经营场所证明范本
2015/06/19 职场文书
单独二胎证明
2015/06/24 职场文书
《水上飞机》教学反思
2016/02/20 职场文书
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis
阿里云服务器(windows)手动部署FTP站点详细教程
2022/08/05 Servers