Open函数的应用

'''
Open函数的应用:
    open(文件路径以及文件,操作模式,编码格式)
    1.文件路径以及文件:
        一定要包含文件的后缀名
        文件的传递分为相对路径与绝对路径两种:
            绝对路径:(不推荐)
                文件在电脑盘符的实际存在的路径。
                绝对路径表示你在即在本地的文件路径,无法通用。
            相对路径:一般文件都保存在当前工程之中,方便获取。
                类似于linux的路径结构,通过工程路径的结构,实现文件本身的获取。
                ./file_demo.py 表示当前路径下的file_demo.py文件
                ../class06_exception表示上一级路径下的class06_exception路径。
            相对路径的优势在于更优秀的可移植性。方便我们更好地管理代码与工程中的文件内容。
            所有需要使用的文件一般都固定在工程结构中的某些特定文件路径之下。
    2.操作模式:用于定义当前你所获取的文件需要做那种类型的操作。
        r:只读模式,允许文件的内容的读取,不允许编辑修改
        w:写入模式,允许文件的写入操作,但会清空文件原有的内容,以覆盖的形式写入。
        a:追加模式,允许在原有文件内容末尾进行新的内容增加
        b:二进制模式,一般用于对非文本文件进行操作的时候添加(图片,视频等)
    3.编码格式:正确的编码格式可以实现对文件的正常修改和读取,确保文件内容可以正常显示。
文件操作与文件的编辑模式必须统一,否则会出问题。
一般我们在操作文件时,会选择调用try...except...语法结构,因为所有的文件在操作之后都需要关闭 。
如果程序出现异常,则文件很可能处于未关闭状态,从而导致文件损坏。
代码在实际操作过程中,不要认为所有的东西都是现成已经封装好的。很多时候需要通过我们自己去设计逻辑来实现。

'''
# open函数示例
# 绝对路径示例
# file = open(file='D:\Python_Project\HCC_Project\class07_file\mpf.txt',mode='r',encoding='utf-8')

# 相对路径示例
# file = open(file='./mpf.txt',mode='r',encoding="utf-8")
# print(file)

# 读取文件之后的操作行为
# 读取文件内容
# print(file.read())    #获取文件的所有内容,如果文件比较大,读取的速度就会变慢

# 读取一行内容,在程序运行的过程中,每调用一次,都会读取一行。程序运行结束则还原
# print(file.readline())    #读取一行内容

# readlines读取文件的全部内容,每一行表示一个元素,最终产生一个完整的list
# for i in file.readlines():
#     print(i)

# 文件的写入与操作: \n表示回车。程序执行过程中,write会执行后光标继续停留在末尾,等待下次写入
# file = open(file = './mpf.txt',mode='w',encoding='utf-8')
# file.write('这是写入1行文件内容\n')  #write表示文件写入
# file.write('这是写入1行文件内容\n')  #write表示文件写入
# file.write('这是写入1行文件内容\n')  #write表示文件写入
# file.write('这是写入1行文件内容\n')  #write表示文件写入

# file.write('''
# 当编辑器中 仅包含 JSON 文本或 选中了 有效的 JSON 文本。
# 单击鼠标右键,并选择 Json Assistant(或按下快捷键 Alt+K)。
# 接着选择 Json Tree Structure,将弹出一个 JSON 树结构的窗口。
# ''')

# a追加模式:原有内容不会被覆盖,而是直接追加在文件的末尾。
# file = open(file='./mpf.txt', mode='a', encoding='utf-8')
# file.write('这是a模式下追加的内容')
# 对于不存在文件的操作
# file = open(file='./hcc1.txt', mode='r', encoding='utf-8')    # r模式会报错
# file.read()
# file = open(file='./coco.txt', mode='w', encoding='utf-8')  # w模式会生产一个新的文件并写入内容
# file.write('这是w模式新建的文件')
# file = open(file='./hcc2.txt', mode='a', encoding='utf-8')    # a模式也会产生一个新的文件并写入内容。
# file.write('这是一个hcc2文件')


# 操作非文本文件:操作文件时,记得在mode中添加b参数值
# 复制文件
file = open(file='./ddup.png', mode='rb')
# 生成新文件
file_new = open(file='ddup_cp.png', mode='wb')
try:
    content = file.read()
    file_new.write(content) #将原文件的内容写入新文件
except Exception as e:
    print(e)
finally:
    #文件关闭通过close方法实现.启动多个文件,需要逐个调用close关闭
    file.close()
    file_new.close()

 

posted @ 2024-12-08 09:17  mafei666  阅读(48)  评论(0)    收藏  举报