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. canvas学习笔记1

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  2. 【[JXOI2017]加法】

    江西竟然还有省选,而且还是可怜题,实在是有点可怕 这道题还是比较清真的,大概是最简单的可怜题? 首先看到最大值最小,就很容易想到了二分答案 对于一个二分出来的答案\(mid\),去把原数列扫一遍就可以 ...

  3. MacBook搭建go语言开发环境

    mac下要安装 go 最简单的方式是通过 homebrew 直接执行: brew update && brew upgrade brew install go 安装完成后需要指定 GO ...

  4. 随手练—— 洛谷-P2945 Sand Castle(贪心)

    题目链接:https://www.luogu.org/problemnew/show/P2945 (原题 USACO) 要求钱最少,就是试着让M和B的离散程度最小(我自己脑补的,就是总体更接近,我不知 ...

  5. 3、Dubbo-环境搭建

    官方推荐使用 Zookeeper 注册中心 3.1).[windows]-安装zookeeper 开发中均在Linux中安装!!! 1.下载zookeeper 网址 https://archive.a ...

  6. 一款不错的网站压力测试工具webbench

    webbench最多可以模拟3万个并发连接去测试网站的负载能力,个人感觉要比Apache自带的ab压力测试工具好,安装使用也特别方便. 1.适用系统:Linux 2.编译安装: 引用 wget htt ...

  7. linux 常用进程使用命令

    查看进程占用pid ps aux | grep program_filter_word 杀死pid kill -

  8. staticmethod classmethod

    1. 静态方法 @staticmethod 只是名义上归类管,实际上静态方法里访问不了类或者实例中的任何属性 2. 类方法 @classmethod 只能访问类变量,不能访问实例变量 3.属性方法 @ ...

  9. C++的六个函数

    一.构造函数 在C++中,构造函数是六个函数中的第一个,当一个对象被创建时,在它的整个周期中,是一个由生到死的 过程,即构造函数创建对象,析构函数析构对象.在对象被创建时,调用构造函数创建一个对象,这 ...

  10. Business Unit Helper

    using System; using System.Linq; using Microsoft.Xrm.Sdk; using Microsoft.Crm.Sdk.Messages; using Sy ...