4、 编写一个程序将随机产生的1000个1000以内的整数写入一个文件,文件中的整数用逗号分隔。从文件中读取数据,打印出排序后的结果。
时间: 2024-10-10 11:10:31 浏览: 29
这是一个Python示例程序,用于完成上述任务:
```python
import random
# 生成并写入文件
def write_sorted_to_file(n=1000):
with open('numbers.txt', 'w') as file:
numbers = [random.randint(1, 1000) for _ in range(n)]
numbers.sort() # 排序数字列表
file.write(','.join(map(str, numbers))) # 将整数转换为字符串并写入文件
# 从文件中读取并打印数据
def read_and_print():
try:
with open('numbers.txt', 'r') as file:
data = file.read().replace(',', '\n') # 读取内容,替换逗号为换行符
sorted_numbers = map(int, data.split('\n')) # 分割字符串,转回整数列表并排序
print(sorted_numbers)
except FileNotFoundError:
print("文件未找到,无法读取数据.")
write_sorted_to_file()
read_and_print()
```
在这个程序中,首先我们创建了一个函数`write_sorted_to_file`,它会生成1000个1到1000之间的随机整数,并按升序排序后写入名为`numbers.txt`的文件中,每个数之间用逗号分隔。然后我们有另一个函数`read_and_print`,用于打开文件,读取内容,用`\n`替换逗号,再将内容分割成单独的整数,并打印出来。
注意,运行此程序前需要确认当前工作目录下不存在同名文件,或者已经存在并且包含数据。如果文件不存在,`read_and_print`函数会捕获`FileNotFoundError`异常。
阅读全文