Python 脚本在 windows 启动时自动运行
Python script autorun on windows startup
我正在尝试创建一个脚本,该脚本将在启动时在 chrome 中显示一个页面。也就是说,我试图在启动时 运行 一个 python 脚本。我正在使用 winreg
模块来执行此操作。
这是我的脚本,用于在启动时添加我的页面显示脚本:
import winreg
import os
import sys, traceback
def AddToRegistry():
pth = os.path.dirname(os.path.realpath(path_to_page_display_script))
s_name="test.py"
address=os.path.join(pth,s_name)
try:
open = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\Run", reserved=0, access = winreg.KEY_ALL_ACCESS)
winreg.SetValueEx(open,"pytest",0,winreg.REG_SZ,address)
winreg.CloseKey(open)
except Exception:
traceback.print_exc(file=sys.stdout)
if __name__=="__main__":
AddToRegistry()
这是我的页面显示脚本:
import webbrowser
url = 'http://docs.python.org/'
chrome_path = 'path_to_chrome/chrome.exe %s'
webbrowser.get(chrome_path).open(url)
脚本 运行 没有任何错误,但在重新启动我的机器时,chrome 不会自行打开,也不会显示页面。基本上,我的脚本不会运行。怎么了 ?请帮助我。
问题不在于您的脚本。它与您的注册表项有关。
您需要告诉 windows 调用 Python.exe C:\path_to_script\test.py
,而不是 test.py
。
所以不是这个:
这个:
path_to_python_exe = "C:\python\python38";
address=os.path.join(pth,s_name)
address = os.path.join(path_to_python_exe, "python.exe") + " " + address;
或者如果 Python.exe 保证在您的 PATH 中,只需这样:
address = "Python.exe" + " " + os.path.join(pth,s_name)
我正在尝试创建一个脚本,该脚本将在启动时在 chrome 中显示一个页面。也就是说,我试图在启动时 运行 一个 python 脚本。我正在使用 winreg
模块来执行此操作。
这是我的脚本,用于在启动时添加我的页面显示脚本:
import winreg
import os
import sys, traceback
def AddToRegistry():
pth = os.path.dirname(os.path.realpath(path_to_page_display_script))
s_name="test.py"
address=os.path.join(pth,s_name)
try:
open = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r"Software\Microsoft\Windows\CurrentVersion\Run", reserved=0, access = winreg.KEY_ALL_ACCESS)
winreg.SetValueEx(open,"pytest",0,winreg.REG_SZ,address)
winreg.CloseKey(open)
except Exception:
traceback.print_exc(file=sys.stdout)
if __name__=="__main__":
AddToRegistry()
这是我的页面显示脚本:
import webbrowser
url = 'http://docs.python.org/'
chrome_path = 'path_to_chrome/chrome.exe %s'
webbrowser.get(chrome_path).open(url)
脚本 运行 没有任何错误,但在重新启动我的机器时,chrome 不会自行打开,也不会显示页面。基本上,我的脚本不会运行。怎么了 ?请帮助我。
问题不在于您的脚本。它与您的注册表项有关。
您需要告诉 windows 调用 Python.exe C:\path_to_script\test.py
,而不是 test.py
。
所以不是这个:
这个:
path_to_python_exe = "C:\python\python38";
address=os.path.join(pth,s_name)
address = os.path.join(path_to_python_exe, "python.exe") + " " + address;
或者如果 Python.exe 保证在您的 PATH 中,只需这样:
address = "Python.exe" + " " + os.path.join(pth,s_name)