7.4 习题
7.1 从键盘输入一些字符,逐个把它们写到磁盘文件上,直到输入一个 # 为止。
程序源代码:
if __name__ == '__main__':
filename = input('输入文件名:\n')
fp = open(filename,"w")
ch = input('输入字符串:\n')
while ch != '#':
fp.write(ch)
print(ch)
ch = input("")
fp.close()
filename = input('输入文件名:\n')
fp = open(filename , "w+")
ch = ''
while '#' not in ch:
fp.write(ch)
ch = input('输入字符串:\n')
fp.close()
7.2 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件"test"中保存。
程序源代码:
if __name__ == '__main__':
fp = open('','w')
string = input('please input a string:\n')
string = string.upper()
fp.write(string)
fp = open('','r')
ad())
order by desc是升序 fp.close()
import sys
str = input('请输入一个字符串:\n')
with open('','w') as f:
f.write(str.upper())
7.3 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。
程序源代码:
if __name__ == '__main__':
import string
fp = open('')
a = fp.read()
fp.close()
fp = open('')
b = fp.read()
fp.close()
fp = open('','w')
l = list(a + b)
l.sort()
s = ''
s = s.join(l)
fp.write(s)
fp.close()
运行以上程序前,你需要在脚本执行的目录下创建 、 文件。
以上程序执行成功后,打开 文件可以看到内容如下所示:
123456
def read(filename):
f = open(filename,"r+")
a = f.readlines()
return a
s = list("".join(read("")+read("")))
s.sort()
s1 = "".join(s)
t = open("","w+")
t.writelines(s1)
t.close()
with open('') as f1, open('') as f2, open('2.txt', 'w') as f3:
for a in f1:
b = f2.read()
c = list(a + b)
c.sort()
d = ''
d = d.join(c)
f3.write(d)
1、有如下文件,a1.txt,里面的内容为:
老男孩是最好的培训机构,
全心全意为学生服务,
只为学生未来,不为牟利。
我说的都是真的。哈哈
分别完成以下的功能:
a,将原文件全部读出来并打印。
with open("a1.txt",encoding="utf-8") as f1:
ad()
print(data)
b,在原文件后面追加一行内容:信不信由你,反正我信了。
with open("a1.txt","a+",encoding="utf-8") as f1:
ad()
print(data)
f1.write("信不信由你,反正我信了。")
c、将原文件全部读出来,并在后面添加一行内容:信不信由你,反正我信了。
with open("a1.txt","a+",encoding="utf-8") as f1:
ad()
print(data)
f1.write("\n信不信由你,反正我信了。")
d、将原文件全部清空,换成下面的内容:
每天坚持一点,
78的原码反码补码每天努力一点,
每天多思考一点,
慢慢你会发现,
你的进步越来越大。
f1.write("每天坚持一点,\n每天努力一点,\n每天多思考一点,\n慢慢你会发现,\n你的进步越来越大。")
e、将原文件内容全部读取出来,并在‘我说的都是真的。哈哈’这一行的前面加一行,‘你们就信吧~’然后将更改之后的新内容,写入到一个新文件:a1.txt。import os
【】编写程序,比较两个文件是否相同。如果不同,输出首次不同处的行号和列号。
1.设计思路
定义两个文件指针,指向要打开的两个文件。分别逐行读取两个文件,并进行比较。
offset函数和match函数嵌套第一次遇到不相同的两行时,再逐列比较,最后输出比较结果。
程序代码如下:
def main():
爱心代码编程手机版
# 输入文件所在路径和文件名,如C:\
str1=input('请输入文件1所在路径和文件名:')
str2=input('请输入文件2所在路径和文件名:')
file1=open(str1, 'r') # 以只读方式打开文件
file2=open(str2, 'r')
# 用readlines()方法把文件内容逐行读入一个列表对象
adlines()
adlines()
file1.close() # 关闭打开的文件
file2.close()
result, row, col =compareFile(listFile1, listFile2) # 调用比较函数
if(result==1): # 函数的第一个返回结果为1,则相等
print("这两个文件相等")
else: # 函数的第一个返回结果为0,则不相等。后两个参数是行、列所在位置
print("这两个文件在{0}行{1}列开始不相等".format(row, col))
# 定义文件比较函数,参数是列表对象
def compareFile(file1, file2):
# 计算第一个列表的元素个数,即行数
len1=len(file1)
len2=len(file2)
minlen1=min(len1, len2) # 计算两个列表的最小行数
for i in range(minlen1): # 用最小行数进行迭代和比较
print(file1[i], file2[i]) # 输出两个列表的当前行
if(file1[i] != file2[i]): # 如果这两行不相等,判断是在哪一列不相等
minlen2=min(len(file1[i]), len(file2[i])) # 获得这两行最小的列数
for j in range(minlen2): # 用最小的列数进行迭代和比较
if(file1[i][j] != file2[i][j]):
return [0, i+1, j+2] #返回不相等所在的行号和列号
else:
if(len(file1) != len(file2)): # 若这两行的列数不相同,则也不相等
return [0, i+1, 1]
else:
if(len(file1) != len(file2)): # 若两个文件的行数不同,则也不相等
return [0, minlen1+1, 1]
else:
python编程基础教程课后答案 return [1, 0, 0] # 两个文件相等
main()# 运行main()函数
2.处理文件:用户指定要查的文件和内容
将文件中包含要查内容的每一行都输出到屏幕
def search():
with open("a1.txt",encoding="utf-8") as f1:
for i in f1:
if "我" in i:
tablet pc input panel accessory 已停止工作 yield i
g=search()
for i in g:
print(i.strip())
3.写生成器,从文件中读取内容,在每一次读取到的内容之前加上‘***’之后再返回用户
def file_add():
with open("a1.txt",encoding="utf-8") as f1:
for i in f1:
yield "***"+i
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论