学习python第六天

今天和昨天学习了文件操作,然后把编程环境换成了pycharm,关于文件操作的内容和相关笔记放在了下文

1.文件的基本操作

'''
文件说明:
    什么是文件?
        数据持久化存储在磁盘上的一种形式,mp3,mp4,html,py,png,jpg
        文件一旦open,必须要关闭(close)
        open 函数
            open(文件路径,文件操作权限),文件操作权限,不写默认为读
        write 写入数据
        
    关于文件路径:
        相对路径:相对于当前文件来说 file/1.txt
            ../:表示上一级目录
            ./:表示当前目录
            ../06_文件操作/file/1.txt(如果当前在05_函数文件夹)
        绝对路径:带盘符的路径
            '''
#打开文件,并赋予写的权限
file=open("file/1.txt","w+")

#写入数据
file.write("捡起大咋尊")

#关闭文件
file.close()

2.文件的读取操作

'''
    file.read方法:
        用于文件读取,默认从左往右按个读取
        如果该方法没有指定读取内容的长度,默认一次性读完'''
file=open("python基础\\06文件操作\\file\\1.txt")

#读取文件
print(file.read())

#关闭文件
file.close()

分割成列表:按行分割 splitlines() 或按空格分割 split()。
	•	遍历每一行:用 for 循环逐行操作。
	•	统计内容长度:用 len()。

#示例
with open("2MY_SQL/密码设置与安全性分析.txt", 'r', encoding="GBK") as plaintext:
    plaintext_list = plaintext.read()
    print(plaintext_list.splitlines())  # 分割为行,返回列表
    print(len(plaintext_list))         # 打印字符总数

3.文件复制

'''
文件说明:用Python实现文件复制

    1.打开源文件的,权限为读 r
    2.开始读取源文件内容
    3.创建新文件
    4.将读取到的内容写入新文件
    5.关闭新老文件

    
'''
#获取老文件名称
old_file_name=input("请输入你想要复制的文件路径:")

#打开文件
old_file=open(old_file_name,"r")

#开始读取文件
content=old_file.read()

#找到文件后缀名.的下标
index=old_file_name.rfind(".")
#字符串切片方式提取数据
new_file_name=old_file_name[:index]+"[副本]"+old_file_name[index:]

#创建新文件,写入权限
new_file=open(new_file_name,"w")

#写入数据
new_file.write(content)

#关闭新老文件
new_file.close()
old_file.close()

4.文件按行处理

'''
文件处理:
'''

#打卡文件,赋予权限
file=open("file/1.txt",'r')

#(file.read())
#一次读取一行
print(file.readline())
print(file.readline())
print(file.readline())
file.close()

new_file=open("file/1[副本][副本].txt",'w')

#一次写一行
new_file.writelines("lalalala\nlalala")

new_file.close()

5.with_open_as用法

'''
  with open as方法不需要手动关闭文件,让你的with oprn as这个语句块结束后,程序自动帮你关闭

  flush 方法:刷新缓存
'''


with open("file/1.txt","r")as new_file:
    content=new_file.read()
    #强制刷新缓存,保障数据全部写出,一般情况下,文件关闭后程序会自动刷新到磁盘中,使用flush方法,在文件关闭前确保数据成功写出
    new_file.flush()
    print(content)

6.定位读取

'''
文件说明;定位读取
    seek(偏移量,方向)
    seek(2,0):相对于文件开头偏移2,0表示从文件开头开始
                               1表示从当前游标位置开始
                               2.表示从文件末尾开始
'''
with open("file/2.txt", "r")as new_file:
    new_file.seek(2,0)
    #当前游标位置
    print(new_file.tell())
    print(new_file.read(1))#print(new_file.read())游标
    print(new_file.tell())
    print(new_file.seek(0,0))
    print(new_file.read(1))
    print(new_file.read(1))
    print(new_file.read(1))

7.文件编码处理

'''
文件说明:
    文件编码处理
        什么是编码?
            字典 页码+ 第几个 78-9 67-8 56-3
'''

with open("file/1.txt","r",encoding="gbk")as f:
    f.read()

8.os模块

'''
文件操作:
    os 系统操作模块
        python标准库(自带)
'''
import os

#显示当前文件的路径
print(os.getcwd())

#显示当前目录下的所有文件名称,并存储到列表中
print(os.listdir())

for file in os.listdir():
    print(file)

#改变文件的工作路径
#os.chdir()

#创建文件夹
#os.mkdir("file/test")

#删除文件夹
#os.rmdir("file/test")

#删除文件
#os.remove("file/1.txt")

#重命名文件
#os.rename("file/2.txt","老王.txt")#相对路径,只写老王会存放在当前路径中

#运行系统层面的指令
#os.system("linux指令")

#拼接两个路径
path=os.path.join("http://www.baidu.com","?wd=老王")
print(path)

#文件目录与父级目录
par_path=os.path.dirname("python基础/06文件操作/file/2.txt")
print(par_path)

#文件绝对路径(后面跟文件名
print(os.path.abspath("2.txt"))
#文件相对路径(后面跟文件名
print(os.path.realpath("2.txt"))

size=os.path.getsize("file/2.txt")
print(size)

#判断路径是否存在
bool=os.path.exists("file")
print(bool)

#判断是否是文件夹
os.path.isdir()
#判断是否是文件
os.path.isfile()
#判断是否是绝对路径
os.path.isabs()
#
link=os.path.islink("C:/Users/无名f/Desktop/PROJECTS/python基础/06文件操作/file/2.txt")
print(link)

#创建时间
os.path.getctime()
#访问时间
os.path.getatime()
#修改时间
os.path.getmtime()
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值