我正在编写python脚本,它的功能之一应该是将其自动添加到Windows启动文件夹中。
现在,我编写了一些可以为我完成此任务的函数,但是它们都依赖于多个变量,这些变量在初始分配后不应更改。但是我不确定在哪里存储它们。
这是代码段:
def write_shortcut():
autostart_folder = winshell.startup()
path = os.path.abspath(__file__)
target_folder = autostart_folder + r"\proxy-changer.lnk"
working_directory = path.replace(r'\proxy-changer.pyw','')
with winshell.shortcut() as shortcut:
shortcut.path = path
shortcut.working_directory = working_directory
shortcut.description = "Shortcut to the proxy-changer script"
shortcut.write(target_folder)
def del_shortcut():
os.remove(target_folder)
def check_shortcut():
if (config.getboolean('DEFAULT','RunOnStartup') == 1 and not
os.path.islink(target_folder)):
write_shortcut()
elif (config.getboolean('DEFAULT','RunOnStartup') == 0 and
os.path.islink(target_folder)):
del_shortcut()
else:
pass
第2行到第5行是我正在谈论的变量。 当前,它们处于第一个功能中,但是其他功能则无法访问它们。现在,我知道存在类,并且该类中的所有方法都可以访问该类中的变量,但是我不确定这是否正确,因为它只会包含一个对象,而不是多个对象。
在功能之外,甚至在定义它们之前,它们看起来也不是很干净。而且我不确定是否要使其全球化。
我想我一般理解课程,但不是全部,所以,如果很明显地知道上课是正确的方法,那么对不起。我只是听说经常在不需要(Stop writing classes!)的时候使用类,所以我试图避免犯同样的错误。 我是python初学者,请随时批评我的代码风格,或者告诉我我错了/可以改进它。
谢谢。