# 一.需求背景
# 1.文本文件
电影.txt 的内容如下
1.2.3《龙门客栈》系列电影是华语武侠电影的经典之作,其故事背景设定在明朝末年,讲述了在动荡时代背景下,侠士们为了正义与生存而展开的一系列斗争与冒险。 《新龙门客栈》(1992年版)由李惠民导演,徐克监制,张曼玉、林青霞、梁家辉等主演。这部电影翻拍自1967年的同名电影,讲述了侠女邱莫言和江湖义士贺虎等人救出忠良后代,并与东厂高手在龙门客栈展开斗争的故事。电影中,龙门客栈老板娘金镶玉由张曼玉饰演,她利用美貌和风骚作诱饵,却对周淮安动了真心。而周淮安由梁家辉饰演,为了摸清暗道,答应与金镶玉结为夫妻。电影以其精彩的武侠场面、深刻的人物刻画和复杂的人性展现,赢得了广泛的赞誉和多项大奖 。 《新龙门客栈》的演员阵容星光熠熠,除了张曼玉和梁家辉,还包括林青霞饰演的侠客邱莫言,以及甄子丹、熊欣欣等饰演的角色。电影类型涵盖了动作、爱情、武侠和古装等元素,成为了一代人心中的经典 。 2.3.4 在叙事手法上,《新龙门客栈》采用了类似美国西部片的故事结构,通过流畅的剪辑技巧和对角色内心世界的真实呈现,1.2.3 创造出了独特的电影氛围。影片的视觉效果同样令人印象深刻,内景在香港搭设摄影棚拍摄,而外景则远赴甘肃敦煌,展现出了“大漠孤烟直”的壮阔景象 。 《新龙门客栈》在票房上也取得了不错的成绩,2012年2月24日在中国大陆上映的修复版,首日票房达到122.3万元,首周票房为418.7万元,截至2024年3月24日累计总票房为626.9万元 。 2.333.4 此外,该片在豆瓣电影上的评分为8.7分(满分10分),由461936人参与评分,显示了其在观众中的受欢迎程度 。影评人和观众对电影的评价普遍正面,赞扬电影中的武侠场面、人物刻画以及深刻的主题寓意 。 对于喜欢《新龙门客栈》的观众,可能会对其他具有类似武侠风格或深刻主题的电影感兴趣。然而,也有观点认为老片重映可能面临“炒冷饭”的嫌疑,缺乏新奇感,可能不会在市场上引起太大的反响 。尽管如此,《新龙门客栈》作为一部经典作品,其艺术价值和影响力是不容置疑的。
1
2
3
4
5
6
7
8
9
10
11
12
13
# 2.需求背景
需要按不同的方式读取 txt 中的内容
# 二.实现代码
要读取一个文本文件,可以使用 Python 的内置函数 open()
。你可以通过不同的模式打开文件来读取其内容。下面是几个常见的读取文件的方法示例:
# 1. 读取整个文件
如果你要读取整个文件的内容,可以使用 read()
方法:
# 打开文件并读取内容
with open('电影.txt', 'r', encoding='utf-8') as file:
content = file.read()
# 打印文件内容
print(content)
1
2
3
4
5
6
2
3
4
5
6
# 2. 逐行读取文件
如果文件非常大,你可以逐行读取,以节省内存:
# 打开文件并逐行读取内容
with open('电影.txt', 'r', encoding='utf-8') as file:
for line in file:
print(line.strip()) # strip() 去掉行尾的换行符
1
2
3
4
2
3
4
# 3. 读取文件的前几行
如果你只需要读取文件的前几行,可以这样做:
# 打开文件并读取前几行
with open('电影.txt', 'r', encoding='utf-8') as file:
lines = [next(file) for _ in range(5)] # 读取前5行
# 打印前几行
for line in lines:
print(line.strip())
1
2
3
4
5
6
7
2
3
4
5
6
7
# 4. 读取文件为列表
将文件的每一行读入一个列表:
# 打开文件并读取所有行到列表
with open('电影.txt', 'r', encoding='utf-8') as file:
lines = file.readlines()
# 打印文件内容
for line in lines:
print(line.strip())
1
2
3
4
5
6
7
2
3
4
5
6
7
# 5. 读取文件并处理异常
在处理文件时,处理异常是一个好习惯,可以确保你的代码在文件未找到或其他问题时不会崩溃:
try:
with open('电影.txt', 'r', encoding='utf-8') as file:
content = file.read()
print(content)
except FileNotFoundError:
print("The file was not found.")
except IOError:
print("An error occurred while reading the file.")
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# 6. 文件编码
指定 encoding='utf-8'
是一个好的做法,尤其是当你处理包含非 ASCII 字符的文件时。根据文件的实际编码方式,可能需要使用其他编码,如 'utf-16'
或 'iso-8859-1'
。
# 总结
open()
: 用于打开文件,返回一个文件对象。read()
: 读取文件的全部内容。readlines()
: 读取文件的所有行到一个列表。- 逐行读取: 遍历文件对象,逐行读取。
- 异常处理: 处理文件打开和读取中的潜在问题。
# 7. 二进制写入
summarize_descriptions.txt
from pathlib import Path
summarize_descriptions = Path("summarize_descriptions.txt")
SUMMARIZE_PROMPT = '新空间代码工作室'
if summarize_descriptions.exists():
with summarize_descriptions.open("wb") as file:
file.write(SUMMARIZE_PROMPT.encode())
file.flush()
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8