day 12 文件操作
1.文件定位读写 f.seek(2,0)
##### f.seek(2,0)
In [4]: f = open("test.py","r")
In [5]: f.seek(2,0)
Out[5]: 2
#微调 2 两个字符
#大方向 0表示从开头读,1表示当前位置, 2表示文件末尾
In [6]: f.readline()
Out[6]: 'port random\n'
In [11]: f.seek(0,0) #从头开始读
Out[11]: 0
2.文件的当前位置 f.tell()
#### f.tell() In [9]: f.read()
Out[9]: 'import random\ndfnsaf \ndsafdsa \nfdsaf \n\n' In [10]: f.tell()
Out[10]: 44 In [11]: f.seek(0,0)
Out[11]: 0 In [12]: f.tell()
Out[12]: 0 In [13]: f.read(1)
Out[13]: 'i' In [14]: f.tell()
Out[14]: 1
3. 文件,文件夹的常见操作 os
In [15]: import os
In [17]: os.rename("test.py","let.py") #重命名 In [19]: os.remove("test1.py") #删除文件 In [21]: os.mkdir("test") #创建目录
In [23]: os.rmdir("test") #删除目录 In [26]: os.getcwd() #获取当前绝对路径
Out[26]: '/home/python/pythonS6/python基础06' In [27]: f = open("../xxx,txt","w") #在上级目录创建文件
In [29]: f.close()
In [30]: ls ../
python基础01/ python基础03/ python基础05/ xxx,txt In [31]: os.listdir("./") #获取当前目录下的所有文件
Out[31]:
['07-read.py',
'04-交换两个值.py',
'aaa附件.py',
'aaa.py',
'love.py',
'02-匿名函数拓展.py',
'aa[cp]a',
'10-大文件读取.py',
'01-匿名函数.py',
'09-复制文件名.py',
'aaa[附件]',
'05-num+=.py',
'bbb',
'aaa[cp].py',
'08-复制文件.py',
'let.py',
'file_name + "[附件]"',
'03-匿名函数.py',
'06-write.py',
'aaa[大文件].py']
4.小应用:批量重命名文件
1)版本1:创建文件
python@ubuntu:~/pythonS6/python基础06$ mkdir test
python@ubuntu:~/pythonS6/python基础06$ cd test/
python@ubuntu:~/pythonS6/python基础06/test$ touch 权利的游戏-{0..5}.avi python@ubuntu:~/pythonS6/python基础06/test$ ls
权利的游戏-0.avi 权利的游戏-2.avi 权利的游戏-4.avi
权利的游戏-1.avi 权利的游戏-3.avi 权利的游戏-5.avi
import os
#1.获取用户要修改的目录下的文件
dir_name = input("请输入要修改的目录:") #2.找到文件名字
list_dir = os.listdir(dir_name) for name in list_dir:
print(name) #3.修改文件名字
#### 运行结果 python@ubuntu:~/pythonS6/python基础06$ python3 11-文件批量重命名.py
请输入要修改的目录:test
权利的游戏-0.avi
权利的游戏-2.avi
权利的游戏-1.avi
权利的游戏-3.avi
权利的游戏-5.avi
权利的游戏-4.avi
2)版本2:
import os
#1.获取用户要修改的目录下的文件
dir_name = input("请输入要修改的目录:") #2.找到文件名字
list_dir = os.listdir(dir_name) for name in list_dir:
print(name)
os.rename(name,"[jd]-"+name) #3.修改文件名字
### 报错 没有文件 ,因为文件和程序没在同一目录
Traceback (most recent call last):
File "11-文件批量重命名.py", line 10, in <module>
os.rename(name,"[jd]-"+name)
FileNotFoundError: [Errno 2] No such file or directory: '权利的游戏-0.avi' -> '[jd]-权利的游戏-0.avi'
3)版本3:修改默认目录
import os
#1.获取用户要修改的目录下的文件
dir_name = input("请输入要修改的目录:") #2.找到文件名字
list_dir = os.listdir(dir_name) os.chdir(dir_name) #3.修改文件名字
for name in list_dir:
print(name)
os.rename(name,"[jd]-"+name)
└── test
├── [jd]-权利的游戏-0.avi
├── [jd]-权利的游戏-1.avi
├── [jd]-权利的游戏-2.avi
├── [jd]-权利的游戏-3.avi
├── [jd]-权利的游戏-4.avi
└── [jd]-权利的游戏-5.avi
4)版本4:
import os
#1.获取用户要修改的目录下的文件
dir_name = input("请输入要修改的目录:") #2.找到文件名字
list_dir = os.listdir(dir_name) #os.chdir(dir_name) #3.修改文件名字
for name in list_dir:
print(name) old_file_name = dir_name + "/" +name
new_file_name = dir_name + "/" + "al-" +name
os.rename(old_file_name,new_file_name)
└── test
├── al-[jd]-权利的游戏-0.avi
├── al-[jd]-权利的游戏-1.avi
├── al-[jd]-权利的游戏-2.avi
├── al-[jd]-权利的游戏-3.avi
├── al-[jd]-权利的游戏-4.avi
└── al-[jd]-权利的游戏-5.avi
5。批量删除文件名前多余的东西
day 12 文件操作的更多相关文章
- 05_Python的文件操作
1.文件操作概述 # 文件是用于数据存储的单位通常用来长期存储设置,文件中的数据是以字节为单位进行顺序存储的 1.打开文件: f = open("xxx") 或 with ...
- python基础-文件操作
一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...
- Delphi文件操作函数
文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...
- Python之路第一课Day3--随堂笔记(文件操作)
一.集合的介绍 1.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = se ...
- python基础之元组、文件操作、编码、函数、变量
1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...
- python函数基础 与文件操作
函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...
- C的文件操作2
[转] C语言文件操作 概述 所谓文件(file)一般指存储在外部介质上数据的集合,比如我们经常使用的mp3.mp4.txt.bmp.jpg.exe.rmvb等等.这些文件各有各的用途,我们通常将它 ...
- C的文件操作
文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等 ...
- Java基础知识系列——文件操作
对文件进行操作在编程中比较少用,但是我最近有一个任务需要用到对文件操作. 对文件有如下操作形式: 1.创建新的文件(夹) File fileName = new File("C:/myfil ...
随机推荐
- python3 安装win32api
Python3 中先安装pip install pywin32 但是在调用时任然说找不到该模块,于是查找资料后得出需要使用python -m pip install pypiwin32.
- Android Studio 学习之 Android SDK快速更新
找到国内谷歌服务器IP地址 进入http://ping.chinaz.com/输入g.cn 然后查询出最快的节点,复制下IP地址.如:IP:203.208.40.146 响应时间:3毫秒 在Andr ...
- [转载] 我的WafBypass之道(SQL注入篇)
我的WafBypass之道(SQL注入篇) Web安全 作者:先知技术社区 2016-11-23 7,566 [本文转自安全脉搏战略合作伙伴先知技术社区 原帖地址 安全脉搏编辑huan97 ...
- 折腾一下WebSocket的ArrayBuffer传输方式
前言 之前写WebSocket都是基于文本传输的,后来准备升级项目,于是打算尝试一下arraybuffer传输方式,由于是第一次使用javascript处理字符串转arraybuffer,不过真的 ...
- 单片机采集的MPU6050原始数据对应关系
转自:https://blog.csdn.net/u013636775/article/details/69668860 单片机采集的MPU6050原始数据对应关系 1.陀螺仪 如下图, 陀螺仪的范围 ...
- rman基础知识理解(一)
rman用于对数据库的备份和恢复. 他的命令主要分成两大类:独立命令和批处理命令: 独立命令只能在rman的提示符下执行,主要的命令有: CONNECT CONFIGURE CREATE CATALO ...
- Oracle锁处理、解锁方法
1.查询锁情况 select sid,serial#,event,BLOCKING_SESSION from v$session where event like '%TX%'; 2.根据SID查询具 ...
- mysql的索引和执行计划
一.mysql的索引 索引是帮助mysql高效获取数据的数据结构.本质:索引是数据结构 1:索引分类 普通索引:一个索引只包含单个列,一个表可以有多个单列索引. 唯一索引:索引列的值必须唯一 ,但允许 ...
- shell习题第3题:统计内存大小
[题目要求] 写一个脚本计算一下linux系统所有进程占用内存的大小的和 [核心要点] ps命令用法 for循环 加法运算 [脚本] #!/bin/bash for n in `ps aux | gr ...
- js清除浏览器缓存
浏览器缓存 所有的数据都可以存到服务器中,但这样并不高效,当我们访问网页的时候,一会卡顿,二会浪费服务器的存储空间,三会给服务器造成压力 浏览器缓存,可以提高网站性能和浏览器的速度,但对于需要经常更新 ...