文件00

00

编写一个程序,接受用户的输入并保存为新的文件:

def file_write(file_name):
f = open(file_name, ‘w‘)
print(‘请输入内容【单独输入\‘:w\‘保存退出】:‘)

while True:
  write_some = input()
  if write_some != ‘:w‘:
    f.write(‘%s\n‘ %write_some)
  else:
    break

f.close()

file_name = input(‘请输入文件名‘)
file_write(file_name)

01

编写一个程序,比较用户输入的两个文件,如果不同,显示出所有不同处的行号与第一个不同字符的位置

def file_compare(file1,file2):
f1 = open(file1 ,‘r‘)
f2 = open(file2 ,‘r‘)
count = 0
differ = []

for line1 in f1:
  line2 = f2.readline()
  count += 1
  if line1 != line2:
    differ.append(count)

f1.close()
f2.close()
return differ

file1 = input(‘请输入第一个文件:‘)
file2 = input(‘请输入第二个文件:‘)

differ = file_compare(file1,file2)

if len(differ) == 0:
  print(‘两个文件完全一样!‘)
else:
  print(‘两个文件有【%d】处不同‘ %len(differ))
  for each in differ:
    print(‘第%d行不一样‘ %each)

02

编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上

def file_view(file_name, line_num):
print(‘文件%s前%s行的内容如下:‘%(file_name, line_num))
f = open(file_name)
for i in range(int(line_num)):
  print(f.readline(),end = ‘‘)

f.close()

file_name = input(‘请输入需要查看的文件名:‘)
line_num = input(‘请输入需要查看的文件行数:‘)
file_view(file_name,line_num)

03

在上一题的基础上扩展,用户可以随意输入需要显示的行数。(如输入13:21打印第13行到第21行,输入:21打印前21行,输入21:则打印从第21行开始到文件结尾所有内容)

def file_view_imp(file_name, line_num):
  if line_num.strip() == ‘:‘:
    begin = ‘1‘
    end = ‘-1‘

    (begin, end) = line_num.split(‘:‘)

  if begin == ‘‘:
    begin = ‘1‘
  if end == ‘‘:
    end = ‘-1‘

  if begin == ‘1‘ and end == ‘-1‘:
    prompt = ‘的全文‘
  elif begin == ‘1‘:
    prompt = ‘从开始到%s‘ %end
  elif end == ‘-1‘:
    prompt = ‘从%s到结尾‘%begin
  else:
    prompt = ‘从%s到%s行‘%(begin, end)

  print(‘\n文件%s%s的内容如下:\n‘%(file_name, prompt))

  begin = int(begin) - 1
  end = int(end)
  lines = end - begin

  f = open(file_name)

  for i in range(begin):
    f.readline()

  if lines < 0 :
    print(f.read())
  else:
    for j in range(lines):
      print(f.readline(), end = ‘‘)

  f.close()

file_name = input(r‘请输入要打开的文件:‘)
line_num = input(‘请输入需要显示的行数【格式如 13:21 或 :21 或 21: 或 : 】:‘)
file_view_imp(file_name, line_num)

(注意区分f.read()、f.readline()与f.readlines())

04

编写一个程序,实现“全部替换”功能。

def file_replace(file_name, rep_word, new_word):
  f = open(file_name)

  content = []
  count = 0

  for eachline in f :
    if rep_word in eachline:
      count += 1
      eachline = eachline.replace(rep_word, new_word)
      content.append(eachline)

  decide = input(‘\n文件 %s 中共有%s个【%s】\n您确定要把所有的【%s】替换为【%s】吗?\n【YES/NO】:‘ \% (file_name, count, rep_word, rep_word, new_word))

  if decide in [‘YES‘, ‘Yes‘, ‘yes‘]:
    f_w = open(file_name, ‘w‘)
    f_w.writelines(content)
    f_w.close()

  f.close

file_name = input(‘请输入文件名:‘)
rep_word = input(‘请输入被替换词:‘)
new_word = input(‘请输入替换词:‘)
file_replace(file_name, rep_word, new_word)

文件00,布布扣,bubuko.com

时间: 2024-10-06 00:16:22

文件00的相关文章

文件查找与压缩 locate find

1 locate 查找文件 使用updatedb 建立mlocate.db 整个磁盘文件搜索建立索引 影响磁盘性能.locate -i 不区分大小写locate -n 只列出前n个locate -r " .(jpg|png)$" 查找以jpg或png结尾的文件 支持j基本的正则表达式 2 find 实时搜索 默认递归搜索 find [OPTION] ...[查找路径] [查找条件][处理动作] find /etc -name passwd ---find +l路径 + 指定文件名 [2

Linux crontab任务调度

一.crontab说明 Linux crontab任务调度是在规定的时间频率内去执行相应的任务. 二.crontab文件详情 1.crontab文件在Linux中的/etc/crontab 2.查看crontab文件  # vi /etc/crontab  文件描述如下 SHELL=/bin/bashPATH=/sbin:/bin:/usr/sbin:/usr/binMAILTO=rootHOME=/ # For details see man 4 crontabs # Example of j

Linux正则表达式grep与egrep

Linux正则表达式grep与egrep 正则表达式:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容.其实正则表达式,只是一种思想,一种表示方法.只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串.常用的工具有grep, sed, awk,这三个都是针对文本的行才操作的. grep  过滤器语法: grep  [-cinvABC]  'word'  filenam

Linux常用性能检测命令解释

1.uptime [[email protected] ~]# uptime 15:08:15 up 98 days, 4:19, 2 users, load average: 0.07, 0.29, 0.14 当前时间 系统运行至今的时间 多少用户登录当前系统 分别是1分钟,5分钟,15分钟前至今的负载情况 load average是队列平均长度,在队列中等待执行的进程数量 该值越低,说明进程更有可能立即被CPU处理,相反越高,说明进程更有可能阻塞 该命令可以检查服务器负载是否高. 2.top

Linux计划任务crond命令

crond是Linux用来定期执行程序的命令.当安装完成操作系统之后,默认便会启动此任务调度命令.crond命令每分锺会定期检查是否有要执行的工作,如果有 要执行的工作便会自动执行该工作.而Linux任务调度的工作主要分为以下两类: 1.系统执行的工作:系统周期性所要执行的工作,如备份系统数据.清理缓存 2.个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是 否有新信,这些工作可由每个用户自行设置 Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个

Nginx常用功能配置及优化

---------------------------------------------------------------------------------------- 规范优化Nginx配置文件: ---------------------------------------------------------------------------------------- Nginx的主配置文件为nginx.conf,主配置文件包含所有虚拟主机的子配置文件同一放到extra目录中. 虚

crontab计划任务命令的使用

crond命令简介 crond是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务. Linux下的任务调度分为两类,系统任务调度和用户任务调度. 系统任务调度:系统周期性所要执行的工作,比如写缓存数据到硬盘.日志清理等.在/etc目录下有一个crontab文件,这个就是系统任务调度的

日志 ; 计划任务 ; 网络配置

日志分两个,一个是rsyslog 日志服务,一个是日志轮转(就是日志的分离和切割)logrotate 对了日志服务rsyslog 来说,它自带了一个服务叫做logrotate:这两个一般都是一起用: 一个日志文件如果扩大,一定会被分离的:否则文件会打不开:对于系统来讲,记录日志是通过主服务来讲的,就是这个服务:[[email protected] ~]# /etc/init.d/rsyslog默认这个服务是启动的:如果这个服务关了,系统是不会为我们记录日志的:很多服务和应用都是靠rsyslog这

crontab的使用

crontab是用来制定计划任务,在规定的时间运行一些命令 -l 显示用户的Crontab文件的内容                       crontab –l -i 删除用户的Crontab文件前给提示                    crontab -ri -r 从Crontab文件夹中删除用户的Crontab文件     crontab -r -e 编辑用户的Crontab文件                                    crontab -e 时程表的