在目录中的所有Python脚本中更改正则表达式

时间:2013-09-04 19:55:38

标签: python regex

#current file is named change_directory.py
import csv
import os, os.path
dir = "C:\blahblahb\Released Database\August 2013\blerblerbler/"
for root, _, files in os.walk(dir):
  for f in files:
    if f[-2:] == "py" and f[:6] !+ "change":
      with open(directory + f, "rb") as csvfile:
        reader = csv.reader(csvfile, delimiter = ',')
        for row in reader:
          for item in row:
            if item[:9] == "statement":
              item = item[:52] + "Released Database/August 2013 Release" + item[67:]
            print(item)

我遇到的问题是,当我更新数据库版本时,我必须不断更改新目录的名称,因此必须更新指向旧文件夹的脚本。我想自动更改目录位置。我已经能够有效地制作出我想要的"项目"变量有。但问题是我想在Python(.py)文件中更改相应的字符串,而不是csv,我不清楚如何执行此操作。我基本上只是想做一个"发现"和"替换"对于数百个" .py"中的特定字符串文件,但我在写出最终输出时遇到了麻烦......我非常感谢任何帮助!

例如,我希望脚本在目录中的所有脚本中更改以下行:

  statement = """LOAD DATA LOCAL INFILE 'C:/blahblahb/July 1/Database Update/unique_file_name.csv'

说:

  statement = """LOAD DATA LOCAL INFILE 'C:/blahblahb/Released Database/August 2013 Release/Database Update/unique_file_name.csv'

1 个答案:

答案 0 :(得分:1)

如果可能,您应该将该字符串存储在全局配置文件或数据库字段中,并在文件中引用它。