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 ...
随机推荐
- canvas学习笔记1
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- 【[JXOI2017]加法】
江西竟然还有省选,而且还是可怜题,实在是有点可怕 这道题还是比较清真的,大概是最简单的可怜题? 首先看到最大值最小,就很容易想到了二分答案 对于一个二分出来的答案\(mid\),去把原数列扫一遍就可以 ...
- MacBook搭建go语言开发环境
mac下要安装 go 最简单的方式是通过 homebrew 直接执行: brew update && brew upgrade brew install go 安装完成后需要指定 GO ...
- 随手练—— 洛谷-P2945 Sand Castle(贪心)
题目链接:https://www.luogu.org/problemnew/show/P2945 (原题 USACO) 要求钱最少,就是试着让M和B的离散程度最小(我自己脑补的,就是总体更接近,我不知 ...
- 3、Dubbo-环境搭建
官方推荐使用 Zookeeper 注册中心 3.1).[windows]-安装zookeeper 开发中均在Linux中安装!!! 1.下载zookeeper 网址 https://archive.a ...
- 一款不错的网站压力测试工具webbench
webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...
- linux 常用进程使用命令
查看进程占用pid ps aux | grep program_filter_word 杀死pid kill -
- staticmethod classmethod
1. 静态方法 @staticmethod 只是名义上归类管,实际上静态方法里访问不了类或者实例中的任何属性 2. 类方法 @classmethod 只能访问类变量,不能访问实例变量 3.属性方法 @ ...
- C++的六个函数
一.构造函数 在C++中,构造函数是六个函数中的第一个,当一个对象被创建时,在它的整个周期中,是一个由生到死的 过程,即构造函数创建对象,析构函数析构对象.在对象被创建时,调用构造函数创建一个对象,这 ...
- Business Unit Helper
using System; using System.Linq; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Sy ...