如何导入和使用在另一个python程序的类中定义的变量?

Posted

技术标签:

【中文标题】如何导入和使用在另一个python程序的类中定义的变量?【英文标题】:how to import and use variables defined in a class of another python program? 【发布时间】:2021-11-05 23:12:38 【问题描述】:

我有这段代码 try2.py。我希望它从一个类中定义的另一个 python 脚本访问其用户输入。

from pytube import YouTube
from try3 import t


class down:

    def video(url,path):
        y = YouTube(url) 
        video1 = YouTube(url).streams.first().download(path)
        print(f"title:YouTube(url).title, views:YouTube(url).views, Length:YouTube(url).length")
        print("Successfully done")    
        return video1

t2 = down()
t2.video()

有用户输入的程序是try3.py。

from pytube import YouTube

class vdoterm:
    def __init__(self):
        self.url = url
        self.path = path
        
url = input("Enter the video URL: ")
path = input("Enter the path: ")

t = vdoterm(url,path)

我尝试导入对象“t”、对象“vdoterm”并访问 url,但没有任何效果。 如何访问另一个程序中定义的变量?

【问题讨论】:

从您的代码vdoterm 接受urlpath,但是vdoterm__init__ 没有显示这样..还有为什么你不能直接创建down 类的对象? 另外你是怎么执行的?我没有看到try3.pytry2.py 的任何通信,在try3.py 的任何地方我们都没有调用try2.py 的任何东西 【参考方案1】:

如果你想遵循相同的文件,你可以这样做(我认为当你可以直接创建类 down:try2.py:

的对象时不需要这样做
from pytube import YouTube

class down:

    def video(url,path):
        y = YouTube(url) 
        video1 = YouTube(url).streams.first().download(path)
        print(f"title:YouTube(url).title, views:YouTube(url).views, Length:YouTube(url).length")
        print("Successfully done")    
        return video1

try3.py:

from try2 import down
class vdoterm:
    def __init__(self):
        self.url = url
        self.path = path

    def video(self):
        t2_obj = down()
        t2_obj.video(self.url, self.path)
        
url = input("Enter the video URL: ")
path = input("Enter the path: ")

t = vdoterm(url,path)
t.video()

【讨论】:

请注意:我没有执行代码,只是为您提供了思考的方向..

以上是关于如何导入和使用在另一个python程序的类中定义的变量?的主要内容,如果未能解决你的问题,请参考以下文章

在 boost.python 中;如何公开包含在另一个类中的类(通过组合)?

在 boost.python 中;如何公开包含在另一个类中的类(通过组合)?

如何在另一个类中使用带有构造函数的类?

如何在另一个类中使用创建的列表?

C# Specflow:如何在另一个文件夹的类中调用具有动态表作为参数的方法

使用 makeStyles 在另一个选定的类中嵌套类