使用python对.bat文件进行更改

使用python对.bat文件进行更改,python,batch-file,command,Python,Batch File,Command,我想使用python对bat文件进行更改并保存它,以便以后调用它 比如说,, 我读过。蝙蝠。它包含一个文件夹的地址 我负责 然后我更改了地址 然后我再次运行它 如何使用python实现这一点。到目前为止,我只能创建新的bat文件,但无法编辑现有文件并保存它。如果您希望只编辑.bat文件中的一行,可以尝试以下操作: with open("path/to/file.bat", "rt") as bat_file: text = bat_file.rea

我想使用python对bat文件进行更改并保存它,以便以后调用它

比如说,, 我读过。蝙蝠。它包含一个文件夹的地址

我负责

然后我更改了地址

然后我再次运行它


如何使用python实现这一点。到目前为止,我只能创建新的bat文件,但无法编辑现有文件并保存它。

如果您希望只编辑.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
文件(更新文本)。

将文件内容读取到
str
列表中,每个
str
都是一行。对行进行所需的更改。然后将这些行写入文件。你不能在文件中间插入内容,你必须重写整个内容。好啊保存如果我重写整个内容并用相同的名称保存,文件会被重写吗??或者它是一个具有不同名称的新文件?如果您在批处理文件中一次又一次地更改同一字符串,将该字符串设置为反映输入参数的变量是否更有意义?并在运行时将该输入作为类型化参数提供?通过批处理文件本身中的输入请求?还是从文件中读取的每一行?等