【Python学习篇】Python实验小练习——文件操作(十一)

简介: 【Python学习篇】Python实验小练习——文件操作(十一)

一、实验目的:

(1)掌握文件的打开方法

(2)掌握文件的读写方法

(3)掌握文件的操作

二、实验环境:

       联网计算机一台/每人,内装Windows 7以上操作系统和安装Python 3.7集成开发环境IDLE。

三、实验内容:

       1. 随机生成100-999的1000个整数,每个整数占一行,写入D:\test.txt文件中.

       2. 读取sy9-1中生成的test.txt,统计其中个位数为5的数字的个数。

       3. 读取sy9-1中生成的test.txt,分别将第100,200,…,1000个数加1

四、实验步骤与结果

       1. 随机生成100-999的1000个整数,每个整数占一行,写入D:\test.txt文件中。

       源代码:

import random
 
# 打开文件用于写入
with open('D:\\test.txt', 'w') as file:
    # 生成1000个100-999范围内的随机整数
    for _ in range(1000):
        number = random.randint(100, 999)
        # 写入文件,每个数字后跟一个换行符
        file.write(f"{number}\n")

       运行效果:

       2. 读取sy9-1中生成的test.txt,统计其中个位数为5的数字的个数。

       源代码:

# 打开文件用于读取
with open('D:\\test.txt', 'r') as file:
    # 初始化计数器
    count = 0
    # 逐行读取文件
    for line in file:
        # 去除行尾的换行符
        number = line.strip()
        # 检查个位数是否为5
        if int(number[-1]) == 5:
            count += 1
 
# 输出统计结果
print(f"个位数为5的数字个数为: {count}")

       运行效果:

       3. 读取sy9-1中生成的test.txt,分别将第100,200,…,1000个数加1。

       源代码:

# 打开文件用于读取
with open('D:\\test.txt', 'r') as file:
    # 读取文件内容到列表中
    numbers = file.read().splitlines()
 
# 修改指定位置的数字
for i in range(100, 1001, 100):
    if i < len(numbers):
        # 将数字转换为整数,加1,再转换回字符串
        numbers[i] = str(int(numbers[i]) + 1)
 
# 打开文件用于写入
with open('D:\\test.txt', 'w') as file:
    # 将修改后的数字写回文件
    file.write('\n'.join(numbers))

       运行效果:

       代码首先打开D:\\test.txt文件进行读取,并将所有数字读取到一个列表中。然后,它遍历从100开始,步长为100,直到1000的索引,检查这些索引是否在列表的有效范围内。如果索引有效,它将该位置的数字转换为整数,加1,然后再转换回字符串,并更新列表中的对应元素。最后,代码打开文件进行写入,将修改后的数字列表重新写入文件,每个数字占一行。

五、总结:

1. 实验过程中的问题及解决方法:

(1)文件权限问题:没有足够的权限访问或在D:\目录下创建文件。

        解决方法:确保在尝试写入文件之前,您有权限在该目录下创建和修改文件。如果没有,请更改目录或以管理员身份运行您的编程环境。

(2)目录不存在:D:\目录不存在或被错误地键入。

       解决方法:检查目录是否存在,如果不存在,则创建它,或者更改到一个存在的目录。

(3)磁盘空间不足:磁盘空间不足,无法创建新文件。

       解决方法:清理磁盘空间,或者选择其他有足够空间的磁盘分区。

(4)编程语言库的使用:不熟悉如何在使用的编程语言中生成随机数或写文件。

       解决方法:查阅文档来了解如何在该编程语言中使用随机数生成库和文件操作函数。

2. 实验收获:

       实验中涉及到了数据类型的转换,特别是字符串和整数之间的转换,这是数据处理中常见的需求,在编写和修改代码的过程中,需要不断地测试代码以确保其正确性。这有助于提高解决问题的能力和代码质量,通过编写脚本自动完成重复性任务,可以大大提高工作效率,这也是学习编程的重要动力之一,实验中介绍了如何处理和转换文件中的数据,例如生成随机数、修改特定数据等。这强调了数据处理对于编程任务的重要性。

📝大佬觉得本文有所裨益,不妨轻点一下👍给予鼓励吧!

❤️❤️❤️本人虽努力,但能力尚浅,若有不足之处,恳请各位大佬不吝赐教,您的批评指正将是我进步的动力!😊😊😊

💖💖💖若您认为此篇文章对您有所帮助,烦请点赞👍并收藏🌟,您的支持是我前行的最大动力!

🚀🚀🚀任务在默默中完成,价值在悄然间提升。让我们携手共进,一起加油,迎接更美好的未来!🌈🌈🌈


目录
相关文章
|
18天前
|
Python 容器
Python学习的自我理解和想法(9)
这是我在B站跟随千锋教育学习Python的第9天,主要学习了赋值、浅拷贝和深拷贝的概念及其底层逻辑。由于开学时间紧张,内容较为简略,但希望能帮助理解这些重要概念。赋值是创建引用,浅拷贝创建新容器但元素仍引用原对象,深拷贝则创建完全独立的新对象。希望对大家有所帮助,欢迎讨论。
|
9天前
|
Python
Python学习的自我理解和想法(10)
这是我在千锋教育B站课程学习Python的第10天笔记,主要学习了函数的相关知识。内容包括函数的定义、组成、命名、参数分类(必须参数、关键字参数、默认参数、不定长参数)及调用注意事项。由于开学时间有限,记录较为简略,望谅解。通过学习,我理解了函数可以封装常用功能,简化代码并便于维护。若有不当之处,欢迎指正。
|
20天前
|
存储 索引 Python
Python学习的自我理解和想法(6)
这是我在B站千锋教育学习Python的第6天笔记,主要学习了字典的使用方法,包括字典的基本概念、访问、修改、添加、删除元素,以及获取字典信息、遍历字典和合并字典等内容。开学后时间有限,内容较为简略,敬请谅解。
|
20天前
|
Python
Python学习的自我理解和想法(7)
学的是b站的课程(千锋教育),跟老师写程序,不是自创的代码! 今天是学Python的第七天,学的内容是集合。开学了,时间不多,写得不多,见谅。
|
18天前
|
存储 安全 索引
Python学习的自我理解和想法(8)
这是我在B站千锋教育学习Python的第8天,主要内容是元组。元组是一种不可变的序列数据类型,用于存储一组有序的元素。本文介绍了元组的基本操作,包括创建、访问、合并、切片、遍历等,并总结了元组的主要特点,如不可变性、有序性和可作为字典的键。由于开学时间紧张,内容较为简略,望见谅。
|
20天前
|
存储 索引 Python
Python学习的自我理解和想法(4)
今天是学习Python的第四天,主要学习了列表。列表是一种可变序列类型,可以存储任意类型的元素,支持索引和切片操作,并且有丰富的内置方法。主要内容包括列表的入门、关键要点、遍历、合并、判断元素是否存在、切片、添加和删除元素等。通过这些知识点,可以更好地理解和应用列表这一强大的数据结构。
|
20天前
|
索引 Python
Python学习的自我理解和想法(5)
这是我在B站千锋教育学习Python的第五天笔记,主要内容包括列表的操作,如排序(`sort()`、``sorted()``)、翻转(`reverse()`)、获取长度(`len()`)、最大最小值(`max()`、``min()``)、索引(`index()`)、嵌套列表和列表生成(`range`、列表生成式)。通过这些操作,可以更高效地处理数据。希望对大家有所帮助!
|
3月前
|
存储 算法 API
Python学习五:函数、参数(必选、可选、可变)、变量、lambda表达式、内置函数总结、案例
这篇文章是关于Python函数、参数、变量、lambda表达式、内置函数的详细总结,包含了基础知识点和相关作业练习。
40 0
|
7月前
|
存储 Python Windows
【Python学习篇】Python实验小练习——函数(十)
【Python学习篇】Python实验小练习——函数(十)
43 1
|
7月前
|
存储 Python
【Python学习篇】Python——函数(九)
【Python学习篇】Python——函数(九)
68 1