Я довольно новичок в python, и у меня есть странная проблема, которую я не могу понять самостоятельно, уверен, что это глупо, но я могу видеть, что это такое, и никогда раньше не сталкивался, даже имея несколько проводов скрипты Python с большим количеством подфайлов
Для записи я кодирую и запускаю свой скрипт с помощью Spyder (версия Python 3.6) в Windows, но я устанавливаю #! / Usr / lib / python2.7 / в начале каждого файла
Мой основной сценарий - большой файл, и я хотел реорганизовать его, экспортировав код в некоторые другие файлы
Главное так:
if __name__ == "__main__":
configuration = Conf.loadConf(os.path.join(scriptDir,confFile))
print(configuration)
loadFavs(configuration,bioses,setDict)
Когда loadFavs находится в основном скрипте, все работает нормально
Как только я переместил его в файл fav.py на том же уровне, что и мой основной скрипт, добавив import fav
и изменив fav.loadFavs (configuration, bioses, setDict), он перестал работать, и Spyder просто ничего не сказал без причины:
In [1]: runfile('C:/DevZone/workspaceFX/scripts4recalbox/BestArcade/fav.py', wdir='C:/DevZone/workspaceFX/scripts4recalbox/BestArcade')
In [2] runfile('C:/DevZone/workspaceFX/scripts4recalbox/BestArcade/fav.py', wdir='C:/DevZone/workspaceFX/scripts4recalbox/BestArcade')
Первая строка configuration = Conf.loadConf(os.path.join(scriptDir,confFile))
должна печатать вещи на экране, и даже не показывать
Как только я вернул код в основной скрипт, мой код снова работает
Это происходит с несколькими различными частями скрипта, которые я пытался поместить в разные файлы
Я в недоумении, вот что я проверил:
в начале каждого файла
#! / USR / Lib / python2.7 /
# - - кодировка: utf-8 - -
всегда заканчивать скрипт пустой строкой
создание каждого файла внутри Spyder, а не за его пределами
Я не думаю, что код, который я перемещаю, заключается в том, что он работает нормально в основном скрипте, и у меня была проблема с несколькими частями кода, но вот оно:
def parseSetFile(setFile, setDict) :
file = open(setFile,'r')
genre = None
# Parse iniFile in iniFile dir
for line in file.readlines() :
line = line.rstrip('\n\r ')
if (line.startswith('[') and not line == '[FOLDER_SETTINGS]' and not line == '[ROOT_FOLDER]') :
genre = line
if genre not in setDict :
setDict[genre] = []
else :
if (genre is not None and not line == '' ) :
setDict[genre].append(line)
def loadFavs(configuration, bioses, setDict) :
print("Load favs small set")
parseSetFile(os.path.join(configuration['scriptDir'],dataDir,smallSetFile),setDict)
print("Load favs big set")
parseSetFile(os.path.join(configuration['scriptDir'],dataDir,bigSetFile),setDict)
print('Nb Genre : %s' %len(setDict))
sumGames = 0
for key in setDict.keys() :
# print(key)
# print(setDict[key])
sumGames = sumGames + len(setDict[key])
print('Nb Games : %s' %sumGames)
print('Nb Bios : %s' %len(bioses))