在Python中:在多行文件中从给定点替换到行尾

在Python中:在多行文件中从给定点替换到行尾,python,replace,eol,Python,Replace,Eol,Python中的新功能(几乎在编程中) 例如,我有一个包含一些行的文件 ... dr=%%dr mkl=%%mkl ... ... dr=0 mkl=0 ... 例如,我想将%%dr和%%mkl替换为零,以便 ... dr=%%dr mkl=%%mkl ... ... dr=0 mkl=0 ... 但是我事先不知道我将使用哪些名称(dr、mkl或其他奇怪的名称),因此我想编写一个代码,找到任何“%%”,并用0替换它和行的其余部分。我相信您正在使用regex寻找类似的名称 注意:在rege

Python中的新功能(几乎在编程中)

例如,我有一个包含一些行的文件

...
dr=%%dr
mkl=%%mkl
...
...
dr=0
mkl=0
...
例如,我想将%%dr和%%mkl替换为零,以便

...
dr=%%dr
mkl=%%mkl
...
...
dr=0
mkl=0
...

但是我事先不知道我将使用哪些名称(dr、mkl或其他奇怪的名称),因此我想编写一个代码,找到任何“%%”,并用0替换它和行的其余部分。

我相信您正在使用regex寻找类似的名称

注意:在regex
“%%.*$”
中,匹配从
%%
到行尾的所有内容。根据您的需求,如本例所示,您的模式的多个实例不会被视为第一个模式将被替换,直到eol

>>> st="""new in Python (and almost in programming).

I have a file with some lines, for example

...

dr=%%dr

mkl=%%mkl

...

I want to replace the %%dr and %%mkl with zeroes in order to have, for example

..."""
>>> lines = (re.sub("%%.*$","0",line) for line in st.splitlines())
>>> print '\n'.join(lines)
new in Python (and almost in programming).

I have a file with some lines, for example

...

dr=0

mkl=0

...

I want to replace the 0

...
>>> 

非常感谢……*$如果是键,您实际上不需要
$
,因为
*
在任何情况下都匹配到行尾。