python文件与目录操作实例详解


Posted in Python onFebruary 22, 2016

本文实例分析了python文件与目录操作的方法。分享给大家供大家参考,具体如下:

关于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 相关文章推荐
Python调用C/C++动态链接库的方法详解
Jul 22 Python
python通过ftplib登录到ftp服务器的方法
May 08 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
python学生管理系统代码实现
Apr 05 Python
Selenium 模拟浏览器动态加载页面的实现方法
May 16 Python
基于Python开发chrome插件的方法分析
Jul 07 Python
python2和python3的输入和输出区别介绍
Nov 20 Python
python使用time、datetime返回工作日列表实例代码
May 09 Python
pyqt5 禁止窗口最大化和禁止窗口拉伸的方法
Jun 18 Python
python 循环数据赋值实例
Dec 02 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 Python
Python selenium爬虫实现定时任务过程解析
Jun 08 Python
python文件操作相关知识点总结整理
Feb 22 #Python
python实现搜索本地文件信息写入文件的方法
Feb 22 #Python
Python和JavaScript间代码转换的4个工具
Feb 22 #Python
python实现识别相似图片小结
Feb 22 #Python
python脚本设置系统时间的两种方法
Feb 21 #Python
python脚本设置超时机制系统时间的方法
Feb 21 #Python
Go语言基于Socket编写服务器端与客户端通信的实例
Feb 19 #Python
You might like
简单的php 验证图片生成函数
2009/05/21 PHP
ThinkPHP3.1新特性之多层MVC的支持
2014/06/19 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
php实现按照权重随机排序数据的方法
2015/01/09 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP统计当前在线用户数实例讲解
2015/10/21 PHP
清除网页历史记录,屏蔽后退按钮!
2008/12/22 Javascript
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
Asp.net下利用Jquery Ajax实现用户注册检测(验证用户名是否存)
2010/09/12 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
jquery中$(#form :input)与$(#form input)的区别
2014/08/18 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
JQuery validate插件验证用户注册信息
2016/05/11 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
vue-test-utils初使用详解
2019/05/23 Javascript
微信小程序scroll-view点击项自动居中效果的实现
2020/03/25 Javascript
vue 数据遍历筛选 过滤 排序的应用操作
2020/11/17 Javascript
python从sqlite读取并显示数据的方法
2015/05/08 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python 使用递归回溯完美解决八皇后的问题
2020/02/26 Python
Python脚本打包成可执行文件过程解析
2020/10/20 Python
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
Marlies Dekkers内衣美国官方网上商店:高端内衣品牌
2018/11/12 全球购物
2014年高三毕业生自我评价
2014/01/11 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
《特殊的葬礼》教学反思
2014/04/27 职场文书
大学生作弊检讨书
2014/09/11 职场文书
八项规定个人对照检查材料思想汇报
2014/09/25 职场文书
优秀团员个人总结
2015/02/26 职场文书
博物馆观后感
2015/06/05 职场文书
河童之夏观后感
2015/06/11 职场文书
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js
CI Games宣布《堕落之王2》使用虚幻引擎5制作 预计将于2023年正式发售
2022/04/11 其他游戏