python中用seek()函数和writes()在JMU.txt文档第一行末尾位置中写入字符串"集美区":
时间: 2024-02-20 14:57:25 浏览: 122
好的,可以使用以下代码实现:
```python
with open('JMU.txt', 'r+') as f:
f.seek(0) # 将文件指针移动到文件开头
old = f.read() # 读取文件原有内容
f.seek(0) # 将文件指针再次移动到文件开头
f.write('集美区' + old) # 在文件第一行开头位置插入字符串
```
这段代码中,`open()`函数以读写方式打开文件,`seek()`函数将文件指针移动到文件开头,`read()`函数读取文件原有内容,`write()`函数将字符串"集美区"插入到文件第一行末尾位置中。最后,文件会自动关闭。
相关问题
执行如下代码: fname = input("请输入要写入的文件:") fo = open(fname, 'w') ls= ['清明时节雨纷纷,', '路上行人欲断魂,', '借问酒家何处有?', '牧童遥指杏花村。'] fo.writelines(ls) fo.seek(0) for line in fo: print(line) fo.close() 以下选项中错误的是: A fo.seek(0)这行代码可以省略,不影响输出效果 B fo.writes(ls)将元素全为字符串的ls列表写入文件 C 代码主要功能为向文件写入一个列表类型,并打印输出结果 D 执行代码时,从键盘输入"清明.txt",则清明.txt被创建
选项C描述正确,代码的主要功能为向文件写入一个列表类型,并打印输出结果。
选项A描述正确,fo.seek(0)这行代码可以省略,不影响输出效果。因为fo在执行fo.writelines(ls)后已经指向了文件末尾,因此在for循环中直接迭代文件对象也会从文件开头开始读取。
选项B描述错误,fo.writelines(ls)将元素全为字符串的ls列表写入文件。因为fo.write()只能写入字符串类型的数据,如果写入其他类型的数据会报TypeError异常。
选项D描述正确,执行代码时从键盘输入"清明.txt",则清明.txt会被创建,因为代码使用了写入模式打开文件,并且如果文件不存在则会创建文件。
Write a Python program to read 5 random lines from file A.txt and then write them to file B.txt.
Sure! Here's a Python program that reads 5 random lines from file A.txt and writes them to file B.txt:
```python
import random
# Read the lines from file A.txt
with open('A.txt', 'r') as file:
lines = file.readlines()
# Choose 5 random lines
random_lines = random.sample(lines, 5)
# Write the random lines to file B.txt
with open('B.txt', 'w') as file:
file.writelines(random_lines)
```
阅读全文