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(全局文本索引替换)的更多相关文章
- python sys.argv[]
sys.argv[]是用来获取命令行参数的,是一个由该脚本自身路径和其它输入的参数组成的List.sys.argv[0]表示代码本身文件路径. 这里,当我们执行python using_sys.py ...
- Python sys.argv[]用法
sys.argv,其实就是一个list,它是sys模块下的一个全局变量,第一个元素是模块名.后面是依次传入的参数. 比如可以这样传入 pyton temp.py a b c d,一共传入a.b.c.d ...
- Python sys.argv[] 的用法
sys.argv变量是一个list, 执行 python abc.py a b c 时, sys.argv[0]为 abc.py sys.argv[1]为 a sys.argv[2]为 b sys.a ...
- python sys.argv[]的用法简明解释
sys模块中文参考文档:http://xukaizijian.blog.163.com/blog/static/170433119201111625428624/ sys.argv[]: 「argv」 ...
- python sys.argv是什么?
1.sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数 2.sys.argv[0] 代表当前module的名字 下面的代码文件是a.py,当我不用IDE工具,只用命 ...
- Python sys.argv[] 使用
sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径;比如在CMD命令行输入 “python test.py -help”,那么sys.argv[0]就代表“tes ...
- python sys.argv[]简单解释
上一篇UDP编程中简单使用了一些sys模块的argv参数,也是我第一次看见这个参数,这里做个记录: sys.argv是一个从程序外部获取参数的桥梁,这个“外部”很关键, 因为我们从外部取得的参数可以是 ...
- arcgis python 布局视图中文本查找替换
# Author: ESRI # Date: July 5, 2010 # Version: ArcGIS 10.0 # Purpose: This script will perform a sea ...
- Python踩坑之 sys.argv[-1]代表什么
平台:win10+python 3.7.0 一.sys说明: sys.argv这个函数是我们写python脚本中最常用的一个函数. sys是Python的一个「标准库」,也就是官方出的「模块」,是「S ...
- python模块中sys.argv[]使用
一.sys 模块 sys是Python的一个「标准库」,也就是官方出的「模块」,是「System」的简写,封装了一些系统的信息和接口. 官方的文档参考:https://docs.python.org/ ...
随机推荐
- [python] Python数据序列化模块pickle使用笔记
pickle是一个Python的内置模块,用于在Python中实现对象结构序列化和反序列化.Python序列化是一个将Python对象层次结构转换为可以本地存储或者网络传输的字节流的过程,反序列化则是 ...
- linux硬盘分区挂载
这里使用手动挂载方式,还有其他挂载方式请百度 检查网站的磁盘状态,确认是否有没有分区的磁盘. fdisk -l 如图所示,这个服务器有两个硬盘第一个299.0G,第二个20000.0G.这种情况说明硬 ...
- python之路56 dajngo最后一天 csrf跨站请求 auth模块登录注册方法
csrf跨站请求伪造 钓鱼网站:模仿一个正规的网站 让用户在该网站上做操作 但是操作的结果会影响到用户正常的网站账户 但是其中有一些猫腻 eg:英语四六级考试需要网上先缴费 但是你会发现卡里的钱扣了但 ...
- SpringBoot源码学习3——SpringBoot启动流程
系列文章目录和关于我 一丶前言 在 <SpringBoot源码学习1--SpringBoot自动装配源码解析+Spring如何处理配置类的>中我们学习了SpringBoot自动装配如何实现 ...
- flutter Error:Cannot run with sound null safety, because the following dependencies don't support
学习flutter新版本的路上,真的是一天一个新惊喜啊 今天遇到的坑是 Flutter 升级高版本后,运行和build 报错 Error: Cannot run with sound null saf ...
- 字符编码和字符集-FileReader读取jbk格式的文件
字符编码和字符集 字符编码 计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字.英文.标点符号.汉字等字符是二进制数转换之后的结果.按照某种规则,将字符存储到计算机中,称为编码.反之,将 ...
- Java入门与进阶 P-2.1+P-2.2
比较运算符 关系运算符(relational operators)也可以称为"比较运算符",用于用来比较判断两个变量或常量的大小.关系运算符是二元运算符,运算结果是 boolean ...
- Python 异步集群使用
目前在做Python项目用到同步和异步的方法使用Redis单机,现在要增加兼容Redis集群.也就说当前项目用到中以下4种Python使用Redis的方法都用到了. - 同步 异步 单机 涉及 涉及 ...
- 打开sublime text3 弹出错误提示 Error trying to parse settings: Expected value inPackages\UserJSONsublime-settings:13:17
问题:打开sublime text3 弹出错误提示 Error trying to parse settings: Expected value inPackages\UserJSONsublime- ...
- 各种排序算法实现(JAVA)
转载: https://blog.csdn.net/qq_42453117/article/details/100036347 Exer010Sort01BubbleSortV1 import ja ...