Ввиду аргумента self
методов, я вижу, что они находятся в Cog. Вы должны использовать PlayingList
в качестве атрибута Cog, то есть в __init__
добавить вместо self.PlayingList = ["Maximus.py.","!help"]
и затем обращаться к нему через self.
в методах.
И поэтому ответ таков: вы не используете методы правильно. Вы должны сделать self.changePlaying()
не changePlaying(self)
.
Кстати, используйте кортеж вместо списка, если вы не планируете модифицировать его посредством выполнения. И имя переменной не должно начинаться с заглавной буквы, так как оно обычно зарезервировано для классов. См. PEP 8 .
Я проверил бы:
В основном перечислите все, что отличается между этой машиной и машинами, где она работает как ожидалось. Включайте пакеты обновления, доменное членство, и т.д.
Ничего себе, это нечетно.
Если те же команды работают, когда разделено на две строки, то я предположил бы, что это имеет некоторое отношение к способу, которым команда выполняется в подоболочке в команде FOR.
Если бы Вы действительно умерли для выяснения, почему это умирает в данном случае, Вы могли выполнить команды как "НАБОР> envvars.txt" как команда FOR и сравнивать это с главной оболочкой.
Или, возможно, начнитесь простые и попытайтесь выполнить команду REG через CMD/C, чтобы видеть, делает ли это что-нибудь?
Одно быстрое предположение здесь, каковы значения COMSPEC и SHELL?
/F
переключите расширения команды потребностей, которые будут включены. Обычно они включены по умолчанию, но я проверил бы это. В системах XP можно повернуть их при выполнении чего-то как
cmd /e:on
или проверка реестра под
HKCU\Software\Microsoft\Command Processor\EnableExtensions
Не знайте о Windows Server.
Выполнение help for
и help cmd
мог обеспечить некоторые подсказки также.