如何将 Class 变量获取到静态方法中?
How To Get Class Variables into Static Methods?
所以我有 main.py
:
import os
import json
class Create_project:
def __init__(self,version):
self.version = version
@staticmethod
def Name(cls):
project_name = cls
@staticmethod
def Res(cls):
if cls == True:
os.chdir('Project')
os.mkdir(f"gyy_RP")
else:
pass
if __name__ == "__main__":
Create_project()
&project.py
:
import neptune_lib
neptune_lib.Create_project("1.16.210")
neptune_lib.Create_project.Name("My Addon")
neptune_lib.Create_project.Res(True)
现在我想创建一个由用户命名的目录,但是project_name
到Res
函数失败。
那么如何让 project_name
进入 Res
函数 ???
为什么要使用静态方法?把所有东西都做成class方法就可以轻松搞定
编辑:
将您的代码更改为
import os
import json
class Create_project:
def __init__(self,version):
self.version = version
self.project_name = None
def Name(self, cls):
self.project_name = cls
def Res(self, cls):
if cls == True:
os.chdir('Project')
os.mkdir(str(self.project_name))
else:
pass
if __name__ == "__main__":
Create_project()
并调用它:
import neptune_lib
a = neptune_lib.Create_project("1.16.210")
a.Name("My Addon")
a.Res(True)
所以我有 main.py
:
import os
import json
class Create_project:
def __init__(self,version):
self.version = version
@staticmethod
def Name(cls):
project_name = cls
@staticmethod
def Res(cls):
if cls == True:
os.chdir('Project')
os.mkdir(f"gyy_RP")
else:
pass
if __name__ == "__main__":
Create_project()
&project.py
:
import neptune_lib
neptune_lib.Create_project("1.16.210")
neptune_lib.Create_project.Name("My Addon")
neptune_lib.Create_project.Res(True)
现在我想创建一个由用户命名的目录,但是project_name
到Res
函数失败。
那么如何让 project_name
进入 Res
函数 ???
为什么要使用静态方法?把所有东西都做成class方法就可以轻松搞定
编辑: 将您的代码更改为
import os
import json
class Create_project:
def __init__(self,version):
self.version = version
self.project_name = None
def Name(self, cls):
self.project_name = cls
def Res(self, cls):
if cls == True:
os.chdir('Project')
os.mkdir(str(self.project_name))
else:
pass
if __name__ == "__main__":
Create_project()
并调用它:
import neptune_lib
a = neptune_lib.Create_project("1.16.210")
a.Name("My Addon")
a.Res(True)