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. CentOS7.X安装Redis-4.0.8以及Redis集群搭建

    安装redis 安装前的准备 yum install \ vim \ wget \ make \ gcc \ gcc-c++ \ automake \ autoconf \ -y \ 下载解压并安装 ...

  2. 随手练——HDU-1210 洗牌问题(模拟)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1210 模拟的题目真不知道怎么写的话,就把真实情况展示出来,有图才有真相: 测试代码: #include ...

  3. 【Vue】vue.js常用指令

    http://www.cnblogs.com/rik28/p/6024425.html Vue.js的指令是以v-开头的,它们作用于HTML元素,指令提供了一些特殊的特性,将指令绑定在元素上时,指令会 ...

  4. 图文助你打开MS SQL Serever的ldf和mdf文件

    第一步:在C盘下找到”program files”双击打开 第二步:打开Microsoft SQL Server 第三步:选择MSSQL.1打开DATA文件 第四步:将你的ldf文件和mdf文件复制到 ...

  5. Android 异步开发之 AsyncQueryHandler 批量添加联系人

    AsyncQueryHandler: 官方解释是一个异步帮助类(A helper class to help make handling asynchronous ContentResolver qu ...

  6. DPDK中使用VFIO的配置

    VFIO VFIO是一个可以安全地把设备I/O.中断.DMA等暴露到用户空间(userspace),从而可以在用户空间完成设备驱动的框架.用户空间直接设备访问,虚拟机设备分配可以获得更高的IO性能. ...

  7. Activiti6.0 spring5 工作流引擎 java SSM流程审批 项目框架

    1.模型管理 :web在线流程设计器.预览流程xml.导出xml.部署流程 2.流程管理 :导入导出流程资源文件.查看流程图.根据流程实例反射出流程模型.激活挂起 3.运行中流程:查看流程信息.当前任 ...

  8. BottomNavigationView的使用

    BottomNavigationView的使用 废话少说, 先看东西 依赖 implementation 'com.android.support:design:26.1.0' 布局 //用这个控件需 ...

  9. oracle查询用户的权限

    DBA_* 描述的是数据库中的所有对象 ALL_* 描述的是当前用户有访问权限的所有对象 USER_* 描述的是当前用户所拥有的所有对象 查看所有用户:  select * from dba_user ...

  10. 有关集合的foreach循环里的add/remove

    转自:Hollis(微信号:hollischuang) 在阿里巴巴Java开发手册中,有这样一条规定: 但是手册中并没有给出具体原因,本文就来深入分析一下该规定背后的思考. 1 .foreach循环 ...