Python文件与文件夹常见基本操作总结


Posted in Python onSeptember 19, 2016

本文实例讲述了Python文件与文件夹常见基本操作。分享给大家供大家参考,具体如下:

1、判断文件(夹)是否存在。

os.path.exists(pathname)

2、判断路径名是否为文件。

os.path.isfile(pathname)

3、判断路径名是否为目录。

os.path.isdir(pathname)

4、创建文件。

os.mknod(filename)  #windows下不可用
open(filename, "w")  #记得要关闭

5、复制文件。

shutil.copyfile("oldfile", "newfile")  #oldfile和newfile都只能是文件
shutil.copy("oldfile", "newfile")  #oldfile只能是文件,newfile可以是文件,也可以是目标目录

6、删除文件。

os.remove(filename)

7、清空文件。

file = open("test.txt", w)
file.seek(0)
file.truncate() #注意文件指针的位置
file.close()

8、创建目录。

os.mkdir(pathname)    #创建单级目录
os.makedirs(pathname)   #递归创建多级目录

9、复制目录。

shutil.copytree("olddir", "newdir")
#olddir和newdir都只能是目录,且newdir必须不存在

10、重命名文件或目录。

os.rename(oldname, newname)

11、移动文件或目录。

shutil.move(oldpath, newpath)

12、删除目录。

os.rmdir("dir")   #不能删除非空目录
'''
#可以删除非空目录,目录打开时也能删除
#约等于'rd /Q /S dir'
'''
shutil.rmtree("dir")

12.1、清空目录。

#encoding=utf-8
#适用于python3.5+
import os, sys, time, shutil
#清空目录
def ClearDir(dir):
  print('ClearDir ' + dir + '...')
  for entry in os.scandir(dir):
    if entry.name.startswith('.'):
      continue
    if entry.is_file():
      os.remove(entry.path)  #删除文件
    else:
      shutil.rmtree(entry.path)  #删除目录

13、切换目录。

os.chdir(newpath)

14、open常用模式。

'r':  只读(缺省。如果文件不存在,则抛出错误。)
'w':  只写(如果文件不存在,则自动创建文件。)
'a':  追加
'r+': 读写

15、由全路径名的到路径和文件名。

>>> pathfile = r'D:\abc\def\ghi.txt'
>>> os.path.dirname(pathfile)
'D:\\abc\\def'
>>> os.path.basename(pathfile)
'ghi.txt'

16、获取文件大小。

os.path.getsize(pathfile)
#单位为字节(Byte)

17、获取当前文件目录绝对路径。

import os, sys
if __name__ == "__main__":
  os.chdir('E:\\')
  print(sys.path[0])
  print(os.path.abspath('.'))
  print(os.path.dirname(os.path.abspath(__file__)))

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

Python 相关文章推荐
Python的时间模块datetime详解
Apr 17 Python
Python基于回溯法子集树模板解决m着色问题示例
Sep 07 Python
Python基于whois模块简单识别网站域名及所有者的方法
Apr 23 Python
解决Python 爬虫URL中存在中文或特殊符号无法请求的问题
May 11 Python
查看TensorFlow checkpoint文件中的变量名和对应值方法
Jun 14 Python
pycharm 配置远程解释器的方法
Oct 28 Python
python 默认参数相关知识详解
Sep 18 Python
Python数据持久化存储实现方法分析
Dec 21 Python
matlab灰度图像调整及imadjust函数的用法详解
Feb 27 Python
Python 输出详细的异常信息(traceback)方式
Apr 08 Python
python函数map()和partial()的知识点总结
May 26 Python
pandas DataFrame.shift()函数的具体使用
May 24 Python
Python实现批量更换指定目录下文件扩展名的方法
Sep 19 #Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 #Python
Python遍历目录并批量更换文件名和目录名的方法
Sep 19 #Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 #Python
Python自定义进程池实例分析【生产者、消费者模型问题】
Sep 19 #Python
python安装PIL模块时Unable to find vcvarsall.bat错误的解决方法
Sep 19 #Python
Python操作Access数据库基本步骤分析
Sep 19 #Python
You might like
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
javascript+php实现根据用户时区显示当地时间的方法
2015/03/11 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
2016/10/10 PHP
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
Yii-自定义删除确认弹框(zyd)jquery实现代码
2013/03/04 Javascript
Jquery选中或取消radio示例
2013/09/29 Javascript
jQuery.position()方法获取不到值的安全替换方法
2015/03/13 Javascript
jQuery封装的屏幕居中提示信息代码
2016/06/08 Javascript
利用JS提交表单的几种方法和验证(必看篇)
2016/09/17 Javascript
微信小程序 scroll-view组件实现列表页实例代码
2016/12/14 Javascript
微信小程序 五星评分(包括半颗星评分)实例代码
2016/12/14 Javascript
AngularJS表单提交实例详解
2017/02/18 Javascript
基于vue实现swipe轮播组件实例代码
2017/05/24 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
通过layer实现可输入的模态框的例子
2019/09/27 Javascript
微信小程序实现轨迹回放的示例代码
2019/12/13 Javascript
JavaScript 判断浏览器是否是IE
2021/02/19 Javascript
[57:38]2018DOTA2亚洲邀请赛3月30日 小组赛A组 OpTic VS OG
2018/03/31 DOTA
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
Python常见数据类型转换操作示例
2019/05/08 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
python使用numpy实现直方图反向投影示例
2020/01/17 Python
TensorFLow 变量命名空间实例
2020/02/11 Python
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
丑小鸭教学反思
2014/02/03 职场文书
五年后的职业生涯规划
2014/03/04 职场文书
民主生活会对照检查材料范文
2014/10/01 职场文书
员工工作表现自我评价
2015/03/06 职场文书
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL