когда я импортирую модуль, он запускает весь файл Python - PullRequest
0 голосов
/ 15 марта 2019

client.py

# Importing modules
import os
import asyncio
import sys
import Events
import glob
import Plugins
global FPath
global PlugPath
global CMDPath
FPath = os.path.dirname(os.path.abspath(__file__))
PlugPath = os.path.dirname(os.path.abspath(__file__)) + "\\Plugins"

Events.Startup()
global cmds
cmds = input("\\>")
global commandlst
commandlst = cmds.split()
command = commandlst[0]
runpy = "python " + str(FPath) + "\\" +  str(command) + ".py"
if(os.path.isfile(FPath + "\\" + command + ".py") == True):
    os.system(runpy)
else:
    print(command + " is not a command or a plugin command!")
    os.system("ping localhost -n 2 >nul")
    os.system("py client.py")

help.py

import json
from pprint import pprint
import os
import sys
import client
commands = json.loads(open(sys.path[0] + "\\commands.json").read())

при импорте клиента он запускает весь файл client.py. Я попытался из команды import клиента и ничего не работает. пожалуйста, помогите.

1 Ответ

1 голос
/ 15 марта 2019

Так работает импорт.Чтобы решить вашу конкретную проблему - не запускайте весь модуль client.py, вы можете поместить его содержимое в if __name__ == '__main__':, проверьте так:

# Importing modules
...
if __name__ == '__main__':
    global FPath
    ...
...