Python 文件操作综合案例
# 案例
# 文件的复制
# 要求
# 将一个文件, 复制到另外一个副本中
# 步骤分析
# 1.
# 只读模式, 打开要复制的文件
import os
import shutil path = "files"
if not os.path.exists(path):
exit() os.chdir(path)
source_file = open("a.txt", "r") #encoding = "utf-8"
dst_file = open("b.txt", "a") # 追加模式, 打开副本文件 # 2.
# 从源文件中读取内容
content = source_file.read()
# 写入到目标文件中
dst_file.write(content) # 3.
# 关闭源文件和目标文件
source_file.close()
dst_file.close() # 注意
# 大文件处理
source_file = open("big.txt", "r", encoding="utf-8") #encoding = "utf-8"
dst_file = open("big_bak.txt", "w", encoding="utf-8") # 追加模式, 打开副本文件
# 大文件处理主要是在读取的时候以一定的字节量来读取
while True:
content = source_file.read(1024)
if (len(content) == 0):
break
dst_file.write(content)
# 关闭源文件和目标文件
source_file.close()
dst_file.close() # 文件分类, 并生成文件清单
file_list = os.listdir() #['1.jpg', '2.jpg', 'a.avi', 'a.txt', 'b.avi', 'b.txt', 'big.txt', 'big_bak.txt']
# 给定一批文件 # 1.
# 按照文件后缀名, 划分到不同的文件夹
# 文件夹命名: 后缀名
# 结果
for file_name in file_list:
# print(file_name)
index = file_name.rfind(".")
# print(index)
if index == -1:
continue
extension = file_name[index + 1:]
# print(extension)
if not os.path.exists(extension):
os.mkdir(extension)
shutil.move(file_name,extension) # 2.
# 生成.txt格式的文件清单
# 标明, 不同的格式, 分别有哪些文件
# 示例 def fileListToFile(dir, file):
file_list = os.listdir(dir)
for file_name in file_list:
newFile = dir + "/" + file_name # 这个要放在这里
if os.path.isdir(newFile):
# print(newFile)
file.write(newFile + "\n")
fileListToFile(newFile,file)
else:
# print("\t" + file_name)
file.write("\t" + file_name + "\n") f = open("list.txt", "a") fileListToFile("files", f) f.close() #list.txt
# files/avi
# a.avi
# b.avi
# files/jpg
# 1.jpg
# 2.jpg
# files/txt
# a.txt
# b.txt
# big.txt
# big_bak.txt
Python 文件操作综合案例的更多相关文章
- Python文件操作与函数目录
文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 ...
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- day8.python文件操作
打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...
- 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()
嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...
- Python之路Python文件操作
Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...
- python 文件操作 r w a
python基础-文件操作 一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件时,需要指定文件路径和以何等方式打开文件, ...
- Python:文件操作技巧(File operation)(转)
Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python # -*- coding: utf8 -*- spath = " D:/dow ...
随机推荐
- 国内Android源码下载
因国内网络被墙的原因,按照Google提供下载Android源码的方式很难下载到,所以记录一下国内下载Android源码的步骤,主要利用的是清华大学的镜像下载. 说明: 下载环境:Ubuntu14.0 ...
- JavaScript------字符串中各种方法
参考“菜鸟教程” http://www.runoob.com/js/js-strings.html 1.search() var s = "Hello World"; alert( ...
- oracle的row_number() OVER (ORDER BY COL2 asc)和row_number() OVER (PARTITION BY COL1 ORDER BY COL2)的用法
转自:https://jingyan.baidu.com/article/9989c74604a644f648ecfef3.html SELECT ROW_NUMBER() OVER(PARTITIO ...
- jpa双向一对一关联外键映射
项目结构: Wife package auth.model; import javax.persistence.CascadeType; import javax.persistence.Column ...
- powershell Start-Sleep
秒: Start-Sleep –s 10 ,毫秒) Start-Sleep –m 10000 语法 Start-Sleep [-seconds] <int> [<CommonPara ...
- 科学计算 NumPy 与C语言对比 N-dimensional array ndarray 元素元素操作 计算正太分布分位数
w http://www.numpy.org/ NumPy is the fundamental package for scientific computing with Python. It co ...
- Character Sets, Collation, Unicode :: utf8_unicode_ci vs utf8_general_ci
w Hi, You can check and compare sort orders provided by these two collations here: http://www.collat ...
- Java中的(构造方法、方法重载、final修饰符使用及继承和抽象)
构造方法: 构造方法的名称和类名相同,没有返回类型,参数列表(类型.个数)不同 方法重载:成员方法和构造方法都可以进行重载 方法名相同但是参数列表(类型,个数)不同,成为方法的重载. 继承:直支持单继 ...
- JavaBean 介绍
// Person.java public class Person{ private String name; private int age; // 无参构造函数 public Person(){ ...
- 原!mysql5.6 存储过程 批量建表
由于业务需求,需要按天分表,因此写了个存储过程,根据时间生成表. 根据createTime 的时间,以及 while循环的变量设置范围,生成该指定日期及之后的多张表. BEGIN ); ); ; '; ...