17.随机抽取txt文档里一半的数据另存为新的txt文档

1. 题目要求

要对输出的 1080p_together.txt, 2k_together.txt, 和 4k_together.txt 里的文件内容随机任意抽取其中数据的一半,分别保存为新的txt文档,文件名为原文件名加上 _half.txt 后缀。

2.代码实现

def random_half_file(file_path):
    with open(file_path, 'r') as f:
        lines = f.readlines()

    random.shuffle(lines)
    half_lines = lines[:len(lines) // 2]

    new_file_path = os.path.splitext(file_path)[0] + '_half.txt'
    with open(new_file_path, 'w') as f:
        f.writelines(half_lines)

    return new_file_path

# 抽取1080p文件内容的一半
new_file_path_1080p = random_half_file('1080p_together.txt')
print(f"新1080p文件路径: {new_file_path_1080p}")

# 抽取2k文件内容的一半
new_file_path_2k = random_half_file('2k_together.txt')
print(f"新2k文件路径: {new_file_path_2k}")

# 抽取4k文件内容的一半
new_file_path_4k = random_half_file('4k_together.txt')
print(f"新4k文件路径: {new_file_path_4k}")

3. 讲解

3.1 随机抽取文件内容的一半

'''
这段代码是用来随机抽取文件内容的一半。
random.shuffle(lines) 会随机打乱lines列表的顺序。
half_lines = lines[:len(lines) // 2] 这行代码会取打乱后的lines列表的前一半元素赋值给half_lines。
这里,len(lines) // 2 是用来计算列表长度的一半(向下取整)。

'''

3.2 随机打乱一个列表的顺序

"""
shuffle 是 Python 标准库 random 模块的一个方法,用于随机打乱一个列表的顺序。
"""
import random
# 一个列表示例
my_list = [1, 2, 3, 4, 5]

# 使用random.shuffle()来打乱列表顺序
random.shuffle(my_list)

# my_list 现在是 [3, 2, 1, 5, 4](顺序可能是不同的)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值