open函数
file = open(路径,模式) 将文件打开后保存到file文件对象中
其中路径是没有默认值的参数,必须输入
对文件的操作
对一个文件操作完后要进行close,尽管python和Java一样可以清理不用的,但突然关闭程序可能是写入缓存区的数据没有存入文件
今天状态不好
0. 编写一个程序,接受用户的输入并保存为新的文件
实现代码
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)
1. 编写一个程序,比较用户输入的两个文件,如果不同,显示出所有不同处的行号。
实现代码
def file_compare(file1, file2):
f1 = open(file1)
f2 = open(file2)
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)
2. 编写一个程序,当用户输入文件名和行数(N)后,将该文件的前N行内容打印到屏幕上。
实现代码
def file_view(file_name, line_num):
print('\n文件%s的前%s的内容如下:\n' % (file_name, line_num))
f = open(file_name)
for i in range(int(line_num)):
print(f.readline(), end= '')
f.close()
file_name = input(r'请输入要打开的文件(C:\\test.txt):')
line_num = input('请输入需要显示该文件前几行:')
file_view(file_name, line_num)