Как использовать функцию из другого файла python
Перейти к содержимому

Как использовать функцию из другого файла python

  • автор:

Как использовать функцию из другого файла Python?

У меня есть radiobutton, команда которая должна в ней исполниться находится в другом файле, как мне использовать функцию из другого файла чтобы она работала?

var1 = Radiobutton(win, text='text', variable=varik, value=1, command=testsystem.que1())
1 2 3
def que1(): if varik.get() == 1: var1['text'] = ('text2')

Постоянно выдаёт ошибку что переменная просто не найдена, как мне нужно правильно импортировать?
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как использовать в js файле функцию из другого js файла?
Добрый день/вечер есть проблема. 2 js файла, в "a.js" есть функция "create()" и есть файл "b.js".

LNK2019 когда пытаюсь использовать функцию из другого файла
я пытаюсь импортировать код из другого файла cpp, но сталкиваюсь с ошибками наподобие таких.

Как использовать переменную из другого файла в qt c++
Есть 4 файла file1.h Здесь я объявляю переменную private: Ui::Skin *ui; int varr; .

Как в функцию main вызвать функцию из другого .c файла
Здравствуйте. Я написал программу, которая в функцию main вызывает функцию из другого .c файла, но.

Регистрация: 01.03.2022
Сообщений: 5

Имеете в виду импортировать функцию из другого файла? Во-первых, импортируемый файл должен находиться в той же папке, что и главный файл (т.е. ваш радиобаттон). Во-вторых, он должен либо называться «testsystem» как у вас в первом файле, либо импортироваться через «as testsystem».
Также можно импортировать только определённую функцию, чтобы в коде не писать источник.

1 2 3 4 5 6 7 8
import testsystem # Исп. -> testsystem.que1() from testsystem import que1 # Исп. -> que1() from testsystem import * # Исп. аналогично второму варианту, только импорт всех функций, переменных и т.д. # Если второй файл назван по-другому import (название) as testsystem from (название) import que1 from (название) import *

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Как вызвать class?

#1 Авг. 30, 2007 20:17:48

offline От: Зарегистрирован: 2007-04-24 Сообщения: 121 Репутация: 0 Профиль Отправить e-mail

Как вызвать class?

Не могу понять как в питоне работают с классами. Для примера есть файл /home/user/class.py в котором описан класс

class MyClass: 
"A simple example class"
i = 12345
def f(self):
return 'hello world'

Теперь я хочу из другого файла ( /home/user/script.py ) воспользоваться этим классом и вызвать функцию f().

Знакомые говорят что надо прописывать папку /home/user в path и делать import. Так ли это? Получается немного не удобно.. Может есть другие способы?

#2 Авг. 30, 2007 20:32:27

Александр Кошелев От: Москва Зарегистрирован: 2007-02-03 Сообщения: 1724 Репутация: 2 Профиль Отправить e-mail

Как вызвать class?

offline
Теперь я хочу из другого файла ( /home/user/script.py ) воспользоваться этим классом и вызвать функцию f().

class — плохое название для файла. переименуй хотя бы в my_class.py. Потом, если файл лежит в тоже директории что и вызвающий скрипт, то пишешь просто

import my_class

mc = my_class.MyClass()
mc.f()

offline
Знакомые говорят что надо прописывать папку /home/user в path и делать import.

правду говорят, чтобы питон “видил” модули директории с ними должны быть прописаны в $PYTHON_PATH переменной окружения. Или в самом скрипте можно динамически добавлять:

import sys

sys.path.append( "/path/to/my/module/directory/" )
#тут уже можно импортировать модули из "/path/to/my/module/directory/"

#3 Авг. 30, 2007 20:39:57

j2a От: Зарегистрирован: 2006-06-29 Сообщения: 869 Репутация: 1 Профиль Отправить e-mail

Как вызвать class?

1) class.py – плохое имя. Не называй свои модули/пакеты именами встроенных конструкций языка и/или пакетами стандартных пакетов
2) читай документацию (~1 ~2) или книги (~1, ~2, ~3)
3)

#!/usr/bin/env python
# /home/user/py/foo.py
class Foo(object):
“”“An example”“”
num = 1234
def meth(self, name=’world’):
return ‘Hello %s!» % name

#!/usr/bin/env python
# /home/user/py/script.py
from foo import Foo
f = Foo()
print “Foo class: %r” % Foo
print “Foo instance: %r” % f
print “f’s class attribute: %r” % f.num
print “f’s method: %r” % f.meth(‘Mike’)

Отредактировано (Авг. 30, 2007 20:40:27)

#4 Авг. 30, 2007 21:13:45

offline От: Зарегистрирован: 2007-04-24 Сообщения: 121 Репутация: 0 Профиль Отправить e-mail

Как вызвать class?

Большое спасибо, насчёт названий скриптов понял.
Вариант j2a очень порадовал, всё таки не надо добавлять путь в path. Но тут же появился другой вопрос, а что за “object” появился в параметрах класса Foo? И почему без этого слова не импортируется класс?

И второй вопрос. А если файлы находятся в разных папках, например foo.py теперь лежит в subdirectory с именем “something”. Уже никак без добавления в path не обойтись?

#5 Авг. 30, 2007 21:25:14

Александр Кошелев От: Москва Зарегистрирован: 2007-02-03 Сообщения: 1724 Репутация: 2 Профиль Отправить e-mail

Как вызвать class?

offline
Но тут же появился другой вопрос, а что за “object” появился в параметрах класса Foo? И почему без этого слова не импортируется класс?

Импортируется и так. Просто оbject это базавый класс для new-style классов в python. На ранних этапах работы с питон об этом можно не задумываться.

offline
И второй вопрос. А если файлы находятся в разных папках, например foo.py теперь лежит в subdirectory с именем “something”. Уже никак без добавления в path не обойтись?

если в подкаталоге, то ничего не надо добалять просто импорт меняется

import something.foo 

Как правильно подключить функцию из другого файла?

Подскажите, как правильно подключить функцию из другого файла?

Основной файл
Папка модуля
—-Подключаемый файл
———Нужная функция

Пишу в Основном файле:

from Папка модуля import Подключаемый файл
Нужная функция()

TypeError: ‘module’ object is not callable

Причем если в Подключаемом файле написать прит — он отработает.

Как правильно подключить функцию?

  • Вопрос задан более трёх лет назад
  • 1311 просмотров

Комментировать
Решения вопроса 3

gordon_shamway

Шамуэй @gordon_shamway

from папка.файл import функция/класс
либо
import sys
sys.path.append(r’путь к файлу’)
from файл import функция/класс

Ответ написан более трёх лет назад

Millerish

Millerish @Millerish Автор вопроса

А если у меня функция а не класс?
Пишу по вашему примеру так:
from vkModuls.statistics_hundreds import statistics_hundreds_of_blog_group
Ошибка:
Traceback (most recent call last):
File «/home/mk/Документы/vk2/vk.py», line 6, in
from vkModuls.statistics_hundreds import statistics_hundreds_of_blog_group
ImportError: cannot import name ‘statistics_hundreds_of_blog_group

Millerish

Millerish @Millerish Автор вопроса
vkModuls — папка, statistics_hundreds -файл, statistics_hundreds_of_blog_group -функция

Millerish

Millerish @Millerish Автор вопроса
Извините, заработало. Проблема была в if __name__ == ‘__main__’:

sim3x

$ . ├── mod │ ├── __init__.py │ └── supermod.py └── use.py
#supermod.py def foo(): print('foo') #use.py from mod.supermod import foo foo()

Ответ написан более трёх лет назад

Millerish

Millerish @Millerish Автор вопроса
Извините, заработало. Проблема была в if __name__ == ‘__main__’:

sim3x

Millerish: сомневаюсь

urtow

*nix, python, QA, bagpipe, folk music

from Папка модуля import Подключаемый файл
Подключаемый файл.Нужная функция()

Если длиннее:
Структура директории:

ls -R .: bar2.py bar.py foo ./foo: foo2.py __init__.py

Содержимое файла foo2.py:

def blabla(): print 'Lol XD'

Вот так можно вызвать функцию blabla из файла bar.py:

from foo import foo2 foo2.blabla()

Почему так происходит — ты проимпортировал модуль в пространство имен. Модуль, а не функцию, потому тебе надо обратится к функции через имя модуля.

Если этого хочется избежать, можно сделать вот так (файл bar2.py):

from foo.foo2 import blabla blabla()

Нужно импортировать переменную firstname из функции другого файла py

У меня есть несколько файлов типа python. Но в этом вопросе используются 2 файла: http://main.py/ и http://req.py/ . В файле http://req.py/ есть функция get_data, а в ней есть переменная(string) firstname. Как можно в http://main.py/ импортировать переменную firstname из функции файла http://req.py/ ?)
Понимаю, что замудрил всё, однако надеюсь на ваше понимание и ответ!♥

Голосование за лучший ответ

from req import firstname

Game-Play PlayerУченик (114) 1 год назад

у меня from req import get_data, firstname
вылазит ошибка

Vitness Просветленный (35043) Game-Play Player, А, переменная внутри функции? Тогда никак, она существует только внутри этой функции

Похожие вопросы

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *