第8章 文件和数据格式化

1.读取文件并显示不以 # 开头的所有行
综合项目
读取当前目录下的 data.txt 文件,显示除了以 # 开头的行以外的所有行

示例
data.txt 内容
# hello
world
输出
world

# 读取 data.txt 并将其中非井号(#)开头的行打印到控制台标准输出中

new=[]
f=open('data.txt','r')
contents=f.readlines()
for ele in contents:
    if ele.startswith('#')==False:
        new.append(ele)
f.close()
print("\n".join(new))

2.读取文件中的数字并排序输出
综合项目
已知文本文件 data.txt 中存放了若干数字,每个数字之间以空格分隔。

请编程读取文件中所有的数字,并以从大到小的方式输出到控制台,输出方式为每个数字之间用空格分隔。

示例
data.txt 内容
3 4 1 5 2
输出
5 4 3 2 1


"""
编程读取 data.txt 文件
并以从大到小的方式输出到控制台
"""

f = open("data.txt", "r", encoding='utf8')
s = f.read()
l = s.split(' ')
l = [int(x) for x in l]

l.sort()
l.reverse()

print(' '.join([str(x) for x in l]))


3.统计文件中关键字出现的次数
综合项目
读取当前目录下的 data.txt 文件,请编程统计关键字中国出现的次数,并输出到控制台。

示例
data.txt 内容
['中国\n', '美国\n', '中国人民\n', '日本\n', '中国人']
输出
3


"""
读取 data.txt 中的内容
统计关键字中国出现的次数,输出至控制台
"""
n=0
file=open("data.txt")
content=file.readlines()
file.close()

for s in content:
    n=n+s.count("中国")
print(n)


4.读取文件进行大小写转换
综合项目
已知文本文件 data.txt 中存放了若干字母,每个字母之间以空格分隔。

请编程读取文件中所有的字母,把其中的大写字母变成小写字母,小写字母变成大写字母,将转化后的字母写到一个新文件result.txt中。

示例
data.txt 内容
a b c D E f z
result.txt 内容
A B C d e F Z


"""
读取 data.txt 中空格分隔的字母列表,
并将字母进行大小写转化,然后输出至 result.txt
"""
a = open("data.txt")
c = a.readlines()
a.close()
g = " ".join(c)  # 将列表转化为字符串
g = g.swapcase() # 将字符串大小写进行转化
print(g)
f = open("result.txt","w")  # 写入文件
f.write(g)
f.close()


5.对文件内容加密
综合项目
已知文本文件 data.txt 中存放有若干英文字符,每个字符之间以空格分隔,请将该文件中每个英文字母加密后写到一个新文件secret.txt中。

加密规则是:将A变成B,B变成C,…,Y变成Z, Z变成A, a变成b,b变成c,…. y变成z, z变成a,其他字符不变。

示例
data.txt 内容
A B 1 a Y Z
secret.txt
B C 1 b Z A


f=open("data.txt","r")
content=f.read()
newStr=""
for string in content:
    temp=ord(string)
    if temp in range(65,91):
        if temp == 90:
            char1=chr(temp-25)
            newStr+=char1
        else:
            char2=chr(temp+1)
            newStr+=char2
    elif temp in range(97,123):
        if temp ==122:
            char3=chr(temp-25)
            newStr+=char3
        else:
            char4=chr(temp+1)
            newStr+=char4
    else:
         newStr=newStr+string
f.close()
f2=open("secret.txt","w")
f2.write(newStr)
f2.close()


6.文件拷贝
综合项目
已知文本文件 data.txt 中存放了若干内容。

请编程在当前目录下产生一个相同文件的副本data_cp.txt,实现文件的拷贝功能。


"""
编程实现文件拷贝功能
"""
f=open('data.txt','r',encoding='utf-8')
new_f=open('data_cp.txt','w',encoding='utf-8')
res=f.read()
new_f.write(res)
new_f.close()
f.close()


7.统计文件行数
综合项目
已知文本文件 data.txt 中每行包含一段英文。

请编程读取文件中的全部内容,统计行数,并按要求输出至控制台。

示例
输出
6


count = 1
for count, line in enumerate(open("data.txt","r").readlines()):
    count += 1
print(count)

8.统计文件中以P开头的总行数
综合项目
已知文本文件 data.txt 中每行包含一段英文。

请编程读取文件中的全部内容,统计文件中以大写字母P开头的总行数,并按要求输出至控制台。

示例
输出
1


count = 0
with open('data.txt', 'r') as f:
    data = f.read().split('\n')
    for i in data:
        if i[0]=='P':
            count += 1
print(count)

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值