0
メインファイルを 'ファイル区切り文字'の存在に基づいてより小さなファイルに分割しようとしています。私は新しい個々のファイルの名前として、この区切り文字に一致するように正規表現を使用しようとすると、以下のように、この新しいファイルにメインファイルの次の行を書き出す:この変数が 'if文'の外で定義されない理由
with open("main_file.txt", 'r') as fhand:
mainFile = csv.reader(fhand)
for line in mainFile:
file_delimeter = "chr[0-9]+"
header = re.search(pattern, str(line)):
if line == header:
smallerFileName = (header.group(0) + ".txt")
with open(smallerFileName, 'w') as newFile:
datawriter = csv.writer(newFile)
datawriter.writerow(line)
しかし、私は、次のエラーを取得する:
Traceback (most recent call last):
File "sepFiles.py" (...)
with open(smallerFileName, 'w') as newFile:
NameError: name 'smallerFileName' is not defined
なぜ正規表現マッチ割り当て「smallerFileNameは」「もしループ」の外で使用することができないように見えるん。?
これを見てください - 参考にしてください:\ http://stackoverflow.com/questions/2829528/whats-the-scope-of-a-python-variable-declared-in-an-if-statement – Dandy