python sys.argv(全局文本索引替换)

2022/2/22 1:23:50

本文主要是介绍python sys.argv(全局文本索引替换),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

#利用sys.argv(实现从程序外部向程序传递参数。)写一个脚本。
#全局替换(old_str to new_str,filename)


import sys #导入sys模块

print(sys.argv)
old_str = sys.argv[1]   #因为索引0是sys的本身路径,所以开始索引为1
new_str = sys.argv[2]   #创建三个索引:要被替换的字符、新的字符与文件名
filename = sys.argv[3]

#1、读取文件和把文件导入内存
f = open(filename, mode="r+")   #导入文件
data = f.read()         #将文件写入内存 

#2.替换与计数
old_str_count = data.count(old_str)         #创建计数变量
new_data = data.replace(old_str, new_str)   #利用replace直接替换

#3、清空文件        
f.seek(0)               #把光标定位到要清空的位置。seek跟的参数是 字节
f.truncate()            #truncate函数:清空光标后面的所有内容

#4、保存到新文件
f.write(new_data)        #write函数:给文件写入新的内容
print(f"成功替换字符'{old_str}'个,为'{new_str},共'{old_str_count}'个")

注意:
1、不能直接在run运行程序,直接运行报错:IndexError: list index out of range

2、需要在终端运行

 

3.格式 :python +文件名 + 索引1 + 索引2 +文件名(python 全局文本检索替换.py arg1 arg2 filename)

 



这篇关于python sys.argv(全局文本索引替换)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程