码迷,mamicode.com
首页 > 其他好文 > 详细

文件的操作以及修改当前操作的路径

时间:2019-09-12 23:33:40      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:div   指定   line   需要   dir   扩展   orm   编码方式   chdir   



第一步:打开文件 f = open(‘text.txt‘, ‘r‘,encoding=‘utf-8‘)
第二部:操作文件 content = f.read()
第三步:关闭文件 f.close

注意点:(带有b模式的方式都不要指定编码格式)
r 模式打开不存在文件要报错
rb 二进制方式读取数据
w 写入文件要指定编码方式,只用w打开文件会先把源文件数据清空
wb 以二进制方式写入文件,不需要进行编码
a 以追加方式写入文件,文件不存在会创建
ab 以二进制方式追加写入文件,不需要编码

import os # 操作文件和文件夹的模块
import shutil # 操作文件和文件夹的高级模块

# 1. 创建一个空的文件,文件名叫做AA.txt
# file = open("AA.txt", "wb") # 默认把文件创建到当前工程目录里面
# file.close()

# 2. 重命名
# os.rename("AA1.txt", "aa.txt")

# 3. 删除指定文件
# os.remove("aa.txt")

# 4. 创建空的目录(文件夹)
# os.mkdir("AAA")
# 把文件创建到指定目录,加上对应的路径即可
# file = open("AAA/aa.txt", "wb") # 默认把文件创建到当前工程目录里面
# file.close()

# os.remove("AAA/aa.txt")

# file = open("AAA/aa.txt", "wb") # 默认把文件创建到当前工程目录里面
# file.close()
#
# file = open("AAA/bb.txt", "wb") # 默认把文件创建到当前工程目录里面
# file.close()

# 5. 获取指定目录下的所有文件名
# file_name_list = os.listdir("AAA")
# print(file_name_list)

# 6. 获取当前操作目录的路径
path = os.getcwd()
print(path)

# 获取当前目录下的所有文件名
file_name_list = os.listdir(".")
print(file_name_list)

# 7. 切换目录
# os.chdir("AAA")

path = os.getcwd()
print(path)


# os.mkdir("BBB")

# 8. 删除空的目录
# os.rmdir("BBB")

# 切换到上一级目录
# os.chdir("..")


# 扩展:
# 1. 删除非空目录

# os.rmdir("AAA")
# shutil.rmtree("AAA") 文件下面还有文件要用shutil
# 2. 判断文件是否存在
result = os.path.exists("1.png")
print(result)
result = os.path.exists("AA/777.txt")
print(result)

# 3. 判断文件夹是否存在
result = os.path.exists("AA")
print(result)

# 4. 判断是否是一个文件
result = os.path.isfile("AA/666.txt")
print(result)
# 5. 判断是否是一个文件夹
result = os.path.isdir("AA")
print(result)

# 6. 获取指定路径的文件名
file_name = os.path.basename("A/B/1.txt")
print(file_name)
# 7. 获取指定路径的文件夹的路径
path = os.path.dirname("A/B/1.txt")
print(path)

# 8. 可以对文件进行分割,获取文件名和文件的后缀, "1.txt" -> 1 .txt
file_name, end_str = os.path.splitext("1.txt")
print(file_name, end_str)


seek方法(定位光标) 必须以‘rb‘方式打开
(三个方式,0是相对文件开头,1是相对上次读取方式,2是相对文件末尾,前面参数必须是负数)

技术图片
for i in f:
offs = -10
while True:
    f.seek(offs, 2)
    data = f.readlines()
    if  len(data) > 1:
        print(文件的最后一行是:{}.format(data[-1].decode(utf-8))
        break
    offs * 2
View Code


# 1. 根据用户输入的文件名,对文件进行拷贝,拷贝后的名字是在原文件的基础上加上[复件],
# 比如: 1.txt -> 1[复件].txt

文件的操作以及修改当前操作的路径

标签:div   指定   line   需要   dir   扩展   orm   编码方式   chdir   

原文地址:https://www.cnblogs.com/wjun0/p/11515366.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!