使用Python将字符串替换为.txt文件中的通配符

时间:2013-04-07 16:48:18

标签: python windows-7 python-2.7

我还不熟悉脚本,并且不确定完成我想要做的事情的最佳方法。这将是我尝试编写的第一个python脚本。请注意,我正在使用 Python2.7

我想为给定参数的用户编写批处理文件。这个论点将成为一条道路。此路径将每天更改并用于执行作业测试。我想用Nightly.bat "build path"

调用它

这就是我想要完成的事情:

1。批处理文件确保路径存在健康检查 2.批处理文件使用给定变量执行python文件 3. Python文件在testrun脚本中使用构建路径查找字符串,并将用给定变量替换该路径 4.Batch文件执行testrun selenium脚本。

以下是代码Python代码:

test1.txt内容:

blah
This is a first string

nightly.py内容:

import sys
import shutil
import os
import re

tf = open('tmp', 'a+')
string = "This is "

with open('test1.txt') as f:
    for line in f.readlines():
            string = re.sub ('This is .*', 'This is a second string', string)

shutil.copy('test1.txt', 'tmp')
tf.write(string)
f.close()
tf.close()

执行nightly.py文件后,这是tmp文件内容:

blah
This is a first stringThis is a second String

我需要将This is a first string替换为This is a second string

最后,tmp文件应包含以下内容:

blah
This is a second string

感谢您继续尝试。

*****************************
* Updated for Kirbyfan64sos *
*****************************

nightly.py内容:

import sys
import shutil
import os

tf = open('tmp', 'a+')
with open('test1.txt') as f:
    for line in f.readlines():
        if line == 'This is*':
            line = 'This is a second string' 
        tf.write(line)
f.close()
tf.close()
shutil.copy('tmp', 'test1.txt')
os.remove('tmp')

2 个答案:

答案 0 :(得分:1)

代码应如下所示:

import sys
tf = open('tmp', 'a+')
with open('WP8974_AudioDecode.html') as f:
    for line in f.readlines() do:
        if line == '<td>\\frosty\*</td>':
            line = '<td>\\frosty\' + sys.argv[1] + '</td>' 
        tf.write(line)
f.close()
shutil.copy('tmp', 'WP8974_AudioDecode.html')
os.remove('tmp')

答案 1 :(得分:1)

我终于找到了答案......

在执行Nightly.py之前

test1.txt:

blah
blah
This is a first string
blah
blah

BTW标签使用notepad ++

对代码产生影响
import sys
import os
import re
import shutil

tf = open('tmp', 'a+')

with open('test1.txt') as f:
    for line in f.readlines():
        build = re.sub ('This is.*','This is a second string',line)
        tf.write(build)
tf.close()
f.close()
shutil.copy('tmp', 'test1.txt')
os.remove('tmp')
执行Nightly.py后

test1.txt:

blah
blah
This is a second string
blah
blah