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 文件操作的更多相关文章

  1. 05_Python的文件操作

    1.文件操作概述 # 文件是用于数据存储的单位通常用来长期存储设置,文件中的数据是以字节为单位进行顺序存储的     1.打开文件: f = open("xxx") 或 with ...

  2. python基础-文件操作

    一.文件操作 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作. 打开文件的模式有: r ,只读模式[默认模式,文件必须存在,不存在则抛出异 ...

  3. Delphi文件操作函数

    文件是同一种类型元素的有序集合,是内存与外设之间传输数据的渠道.文件的本质是一个数据流,所有的文件实际上是一串二进制序列.文件管理包括:1.文件操作.2.目录操作.3.驱动器操作.三部分. 1.常见文 ...

  4. Python之路第一课Day3--随堂笔记(文件操作)

    一.集合的介绍 1.集合操作 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 常用操作 s = se ...

  5. python基础之元组、文件操作、编码、函数、变量

    1.集合set 集合是无序的,不重复的,主要作用: 去重,把一个列表变成集合,就可以自动去重 关系测试,测试两组数据的交集,差集,并集等关系 操作例子如下: list_1 = [1,4,5,7,3,6 ...

  6. python函数基础 与文件操作

    函数的定义 函数是通过赋值传递的,参数通过赋值传递给函数.def语句将创建一个函数对象并将其赋值给一个变量名,def语句的一般格式如下: def function_name(arg1,arg2[,.. ...

  7. C的文件操作2

    [转] C语言文件操作  概述 所谓文件(file)一般指存储在外部介质上数据的集合,比如我们经常使用的mp3.mp4.txt.bmp.jpg.exe.rmvb等等.这些文件各有各的用途,我们通常将它 ...

  8. C的文件操作

    文件文件的基本概念 所谓“文件”是指一组相关数据的有序集合. 这个数据集有一个名称,叫做文件名. 实际上在前面的各章中我们已经多次使用了文件,例如源程序文件.目标文件.可执行文件.库文件 (头文件)等 ...

  9. Java基础知识系列——文件操作

    对文件进行操作在编程中比较少用,但是我最近有一个任务需要用到对文件操作. 对文件有如下操作形式: 1.创建新的文件(夹) File fileName = new File("C:/myfil ...

随机推荐

  1. CSS(层叠样式表)基础知识

     CSS 指层叠样式表 (Cascading Style Sheets).样式定义怎样显示 HTML 元素.它通常存储在样式表中,把样式加入到 HTML 4.0 中,解决内容与表现分离的问题. 当同一 ...

  2. 基于session和cookie的登录验证(CBV模式)

    基于session和cookie的登录验证(CBV模式) urls.py """cookie_session URL Configuration The `urlpatt ...

  3. 3、Spring Cloud - Eureka(构建服务端/客户端)

    3.1.Eureka简介 3.1.1.什么是 Eureka 和Consul.Zookeeper 类似, Eureka 是一个用于服务注册和发现的组件,最开始主要应用 于亚马逊公司旗下的云计算服务平台 ...

  4. [Python 多线程] Lock、阻塞锁、非阻塞锁 (八)

    线程同步技术: 解决多个线程争抢同一个资源的情况,线程协作工作.一份数据同一时刻只能有一个线程处理. 解决线程同步的几种方法: Lock.RLock.Condition.Barrier.semapho ...

  5. 过滤ST/退市股票

    nest_dict = {'code': {1: '000033', 2: '002113', 3: '002260', 4: '002512'}, 'name': {1: '新都退', 2: 'ST ...

  6. Reading SBAR SDN flow-Based monitoring and Application Recognition

    概要 在sdn下,控制平面基于网络测量的的数据控制网络,而细粒度的管理得益于细粒度的测量数据.针对sdn环境下的细粒度测量(识别具体应用程序),可以实现对细粒度的流量管控. 设计了识别系统SBAR,对 ...

  7. ./redis-trib.rb [ERR] Sorry, can't connect to node 192.168.*.*

    原因在于在redis.conf中绑定了127.0.0.1 改为自己虚拟机地址.重新启动

  8. Java 深入理解内部类

    摘自海子:Java内部类详解 深入理解内部类 1.为什么成员内部类可以无条件访问外部类的成员? 在此之前,我们已经讨论过了成员内部类可以无条件访问外部类的成员,那具体究竟是如何实现的呢?下面通过反编译 ...

  9. Maven 高级应用

    Maven 的高级应用主要体现在 ==依赖==,==聚合==,==继承== * 依赖 就是在当前项目的pom.xml 总引入依赖的坐标 最最经常用到的 <dependencies> < ...

  10. iOS 中系统与 SDK 版本检测

    一.编译时检测 1. 判断 SDK 是否是某个版本或更高版本 ifdef __IPHONE_11_0 2.判断当前需要支持的最低版本 __IPHONE_OS_VERSION_MIN_REQUIRED ...