0
#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)

我遇到的问题是,当我更新数据库版本时,我必须不断更改新目录的名称,因此必须更新指向旧文件夹的脚本。我想自动更改目录位置。我已经能够有效地生成我希望“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'
4

1 回答 1

1

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

于 2013-09-04T20:03:32.737 回答