使用 python 更改 .bat 文件
Posted
技术标签:
【中文标题】使用 python 更改 .bat 文件【英文标题】:Make changes to a .bat file using python 【发布时间】:2021-06-01 19:36:27 【问题描述】:我想用python修改一个bat文件并保存,以便以后调用。
例如, 我读过.bat。它包含一个文件夹的地址。
我运行它。
那我改一下地址。
然后我再次运行它。
如何使用 python 做到这一点。到目前为止,我只能创建新的 bat 文件,但我无法编辑现有的并保存它。
【问题讨论】:
将文件内容读入str
的一个list
,每个str
为一行。对线条进行您希望的更改。然后将这些行写入文件。你不能在文件中间插入东西,你必须重写整个东西。
啊。好的。如果我重写整个东西并以相同的名称保存,则文件会被重写吗?还是会是一个不同名称的新文件?
如果您一遍又一遍地更改批处理文件中的相同字符串,那么将该字符串设为反映输入参数的变量不是更有意义吗?并在运行时将该输入作为类型化参数提供?通过批处理文件本身的输入请求?还是从文件中读取的每一行?等等
【参考方案1】:
如果您只想编辑 .bat 文件中的一行,可以试试这个:
with open("path/to/file.bat", "rt") as bat_file:
text = bat_file.readlines()
new_text = []
for line in text:
if "address/you/want/to/change" in line:
new_text.append(line.replace("address/you/want/to/change", "new/address/line"))
else:
new_text.append(line)
with open("path/to/file.bat", "wt") as bat_file:
for line in new_text:
bat_file.write(line)
它所做的是读取当前.bat
文件的所有行,然后遍历这些行并将您想要更改的行更改为您想要更改的任何内容。
之后,文件以写入模式再次打开,因此所有行都可以写入.bat
文件(更新文本)。
【讨论】:
以上是关于使用 python 更改 .bat 文件的主要内容,如果未能解决你的问题,请参考以下文章