У меня есть сценарий, который я собрал, который генерирует несколько файлов, заполненных json-данными, путем вызова другого модуля python. Затем я хочу иметь возможность импортировать их после их создания и делать с данными, которые они содержат.Как остановить Python от проверки файлов после выполнения
Проблема в том, что когда я пытаюсь запустить этот скрипт, он жалуется на файлы, которые не существуют. Я думаю, потому что Python проверяет все файлы, которые нужно открыть перед выполнением кода, независимо от того, где открытые операторы попадают в код. Есть ли способ обойти это, поэтому он не будет пытаться открыть файлы до тех пор, пока генератор не вызовет модуль для их создания? Пример кода ниже:
#!/usr/bin/python
import os, sys
import json
import random
import ships_levels_stats_generator
def main():
number = 10
ships_levels_stats_generator.interface(str(number))
for i in range(0, number):
with open('../Test/attack%s.json' % i) as attack_json:
attack_data = json.load(attack_json)
with open('../Test/hp%s.json' % i) as hp_json:
hp_data = json.load(hp_json)
with open('../Test/repair%s.json' % i) as repair_json:
repair_data = json.load(repair_json)
for key in attack_data.iterkeys():
if len(attack_data[key]) < 20:
print "Under 20."
elif len(attack_data[key]) < 30:
print "Under 30."
elif len(attack_data[key]) < 60:
print "Under 50."
elif len(attack_data[key]) < 80:
print "Under 80."
else:
print "Over 80."
К сожалению, это только я не получаю право форматирования в этом. Он имеет отступы в фактическом коде. –
@ KrisGriebe Тогда проблема не в коде, который вы опубликовали. Python не пытается открыть какие-либо файлы, пока не выполнит вызов 'open', так что это не проблема. –
Трудно сказать, не видя полного кода, но это может быть проблема с разрешениями, или может быть, что код имеет условный, пустой цикл или возвращает, так что open никогда не вызывается. –