##################################################
目录
##################################################
活动简介
活动地址:CSDN21天学习挑战赛
学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰;一个人摸索学习很难坚持,想组团高效学习;想写博客但无从下手,急需写作干货注入能量;热爱写作,愿意让自己成为更好的人…
…
欢迎参与CSDN学习挑战赛,成为更好的自己,请参考活动中各位优质专栏博主的免费高质量专栏资源(这部分优质资源是活动限时免费开放喔~),按照自身的学习领域和学习进度学习并记录自己的学习过程,或者按照自己的理解发布专栏学习作品!
##################################################
Python 文件目录管理以及文件编码声明
——————————
实用 Python 文件读写程序示例
%%%%%
复制整个小文本文件的内容到新小文本文件
VSCode code:
file_read = open ( "D:\\test.py" ) # 只读模式打开创建源文件对象
file_write = open ( "D:\\test [复件].py", "w" ) # 只写模式打开创建目标文件对象
text = file_read.read() # 读取源文件所有内容
print ( "源文件内容 >>> \n————————————————————\n", text, "\n————————————————————\n" )
file_read.close() # 关闭源文件
file_write.write ( text ) # 向目标文件写入所有内容
file_write.close() # 关闭目标文件
file_read = open ( "D:\\test [复件].py" )
text = file_read.read()
print ( "目标文件内容 >>> \n####################\n", text, "\n####################\n" )
file_read.close()
VSCode demo:
Windows PowerShell
版权所有 (C) 2014 Microsoft Corporation。保留所有权利。
PS C:\Users\byme> python -u "e:\PY\test.py"
源文件内容 >>>
————————————————————
"崽崽 5211314 !"
dsfjuefjfefjhejf额发顺丰发色
98放-乳房;‘23-2=d'a~320ri32!分iktfgjm-0g
————————————————————
目标文件内容 >>>
####################
"崽崽 5211314 !"
dsfjuefjfefjhejf额发顺丰发色
98放-乳房;‘23-2=d'a~320ri32!分iktfgjm-0g
####################
PS C:\Users\byme>
截图示例:
%%%%%
按行将大文本文件内容复制到新大文本文件
VSCode code:
file_read = open ( "D:\\test.py" ) # 只读模式打开创建源文件对象
file_write = open ( "D:\\test [复件].py", "w" ) # 只写模式打开创建目标文件对象
while True:
# 死循环
text = file_read.readline() # 读取一行内容
if not text:
# 判断是否读到内容 如果没有读取到内容就退出!
print ( "\n该行没有内容可读取 退出..\n" )
break
print ( "读取到内容\n>>> ", text, "\b正在写入新文件..\n") # 输出读取该行信息 \b 在开头遇到换行符不换行顶格写
file_write.write ( text ) # 向目标文件写入所有内容
file_read.close() # 关闭读取文件
file_write.close() # 关闭写入文件
file_read = open ( "D:\\test [复件].py" )
text = file_read.read()
print ( "新文件内容 >>> \n####################\n", text, "\n####################\n" )
file_read.close()
VSCode demo:
Windows PowerShell
版权所有 (C) 2014 Microsoft Corporation。保留所有权利。
PS C:\Users\byme> python -u "e:\PY\test.py"
读取到内容
>>>
正在写入新文件..
读取到内容
>>> "崽崽 5211314 !"
正在写入新文件..
读取到内容
>>>
正在写入新文件..
读取到内容
>>> dsfjuefjfefjhejf额发顺丰发色
正在写入新文件..
读取到内容
>>> 98放-乳房;‘23-2=d'a~320ri32!分iktfgjm-0g正在写入新文件..
该行没有内容可读取 退出..
新文件内容 >>>
####################
"崽崽 5211314 !"
dsfjuefjfefjhejf额发顺丰发色
98放-乳房;‘23-2=d'a~320ri32!分iktfgjm-0g
####################
PS C:\Users\byme>
截图示例:
——————————
文件目录管理操作
在 Python 中如果我们希望像在 终端/文件浏览器 中可以执行常规的 文件/目录管理操作
例如
创建、重命名、删除、改变路径、查看目录内容
都可以使用 os 模块的方法完成
文件或者目录操作都支持相对路径和绝对路径
%%%%%
文件操作
os 模块文件函数:
函数名 函数说明 函数示例
rename 重命名文件 os.rename ( 旧名字, 新名字 )
remove 删除文件 os.remove(文件)
%%%%%
目录操作
os 模块目录函数:
函数名 函数说明 函数示例
listdir 目录列表 os.listdir(目录)
mkdir 创建目录 os.mkdir(目录)
rmdir 删除目录 os.rmdir(目录)
getcwd 获取当前目录 os.getcwd()
chdir 修改工作目录 os.chdir(新目录)
path.isdir 判断是否是文件 os.path.isdir(文件路径)
——————————
文本文件的编码格式
文本文件存储的内容是基于 字符编码 的文件
常见的编码有 ASCII/UNICODE 编码等
Python 2 默认使用 ASCII 编码格式
Python 3 默认使用 UTF-8 编码格式
%%%%%
ASCII 编码
计算机中只有 256 个 ASCII 字符 因为 8 个 0/1 的排列组合方式一共有 256 种 就是 2**8
一个 ASCII 在内存中占用 1 个字节的空间
%%%%%
utf-8 编码
计算机中使用 1~6 个字节表示一个 UTF-8 字符
涵盖了地球上几乎所有地区的文字
大多数汉字会使用 3 个字节表示
UTF-8 是 UNICODE 编码的一种编码格式
%%%%%
Python 2 中如何使用中文
在 Python 2 文件的第一行增加如下代码 解释器会以 utf-8 编码来处理 Python 文件:
# coding=utf8
或者使用官方推荐的方式:
# *-* coding:utf8 *-*
%%%%%
关于 Python 2 中的 Unicode 字符串
在 Python 2 中即使指定了文件使用 utf-8 的编码格式
但是在遍历字符串时仍然会以 字节 为单位遍历字符串
要能够正确遍历字符串 在定义字符串时需要在字符串的引号前增加一个小写字母 u
以此来告诉解释器这是一个 Unicode 字符串 使用 utf-8 编码格式的字符串
示例:
# *-* coding:utf8 *-*
hello_str = u"你好世界" # 在字符串前,增加一个 u 表示这个字符串是一个 utf8 字符串
print ( hello_str )
for c in hello_str:
print ( c )