import sys
file_old=sys.argv[0]
file_new=sys.argv[1]
find_str=sys.argv[2]
replace_str=sys.argv[3]
with open(file_old, 'r', encoding='utf-8') as f, \
open(file_new, 'w', encoding='utf-8') as f_new:
for line in f:
if find_str in line:
line = line.replace(find_str,replace_str)
f_new.write(line)
#使用with进行文件的更改 with open("tt.txt", 'r', encoding='utf-8') as f, \ open("tt.bak.txt", 'w', encoding='utf-8') as f_new: for line in f: if "绚丽蓝图" in line: line = line.replace("绚丽蓝图", "美好的蓝图") f_new.write(line)
#读文件
#f=open('tt.txt','r',encoding='utf-8')
'''
#1.读取所有的内容,适合小文件.
data=f.read()
print(data)
f.close()
'''
'''
#2.读取所有内容,按行放入到列表中
data=f.readlines()
for line in data:
print(line.strip())
'''
'''
#3.读一行,打印一行,建议使用的方法
count=0#自定义一个标识进行操作
for line in f:
#print(line.strip())
if count==10:
print("我是分割线".center(50,"*"))
count+=1
continue
print(line.strip())
count+=1
'''
'''
#写文件
f=open('write.txt','w',encoding='utf-8')#如果文件不存在的时候创建一个新文件
f.write("仅仅在一些非常特殊的情况下,你才需要使用这个函数")
f.close()
'''
'''
#修改文件(追加)
f=open("write.txt",'a',encoding='utf-8')#文件只能在末尾增加
f.write("这个我追加的内容")
f.close()
'''
'''
#读写文件(可读可写)
#读写文件如果要写的话只能在文件的末尾进行写入..
f=open("tt.txt",'r+',encoding='utf-8')
count=0
for line in f:
if count==9:
f.write("\n----这个内容只能追加到文件的末尾----")
print(line.strip())
count+=1
'''
'''
#写读文件,没卵用
#写读文件的时候会在开始的时候,清楚文件中的内容
f=open("tt.txt",'w+',encoding='utf-8')
#先读取3行打印控制台,内容已经被清空,所有下面3行不会被打印
print(f.readline())
print(f.readline())
print(f.readline())
f.write("我已经读取了3行")
f.close()
'''
#f文件句柄的属性,方法.
f=open("tt.txt",'r+',encoding='utf-8')
flag=f.fileno()#返回一个整型的文件描述符,可用于底层操作系统的I/O操作
print(flag)
print(f.isatty())#如果文件连接到一个终端设备返回Ture,否则返回False
f.seek(10)#设置文件当前游标的位置.可以从游标位置使用f.read(num)方法读取num个字符
f.tell()#返回当前游标的位置.一般和f.seek()配合使用
f.truncate()#截取文件,f.truncate(size)截取的字节通过size制定,默认为当前的位置.使用f.seek()无法制定截取的开始位置.
f.close()