如何导入和使用在另一个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
接受url
和path
,但是vdoterm
的__init__
没有显示这样..还有为什么你不能直接创建down
类的对象?
另外你是怎么执行的?我没有看到try3.py
与try2.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 中;如何公开包含在另一个类中的类(通过组合)?