windows 打开时如何制作自动 运行 python 文件
How to make auto-run python file when windows open
from datetime import date
bugun = str(date.today())
if bugun == "2021-04-25":
with open("dosya.py","r+") as dosya:
liste = dosya.readlines()
liste.insert(3,"DenemeBu\n")
del liste[4]
dosya.seek(0)
print(liste)
with open("dosya.py","w") as dosya:
for i in liste:
dosya.write(i)
import os
print("Hello")
sayi1 = int(input("Sayi1: "))
sayi2 = int(input("Sayi2: "))
print("Sonuc {}".format(sayi1+sayi2))
我想用第一个文件更改第二个文件,但我希望第一个文件在我的电脑打开并采用当前日期时打开。当日期更正并更改第二个文件时。
这个方法我试过.bat文件,效果不错,你也可以试试。将您想要在 windows 启动时 运行 的 python 文件放在此位置。
C:\ProgramData\Microsoft\Windows\StartMenu\Programs\StartUp
按 Win + R 并输入 shell:startup
打开您的启动文件夹
在此文件夹中,创建一个 txt 文件并将其重命名为 anything.bat 并使用
进行编辑
@ECHO OFF
python3 C:/path/to/my/script.py
如果您希望它有一个终端 window 弹出窗口,您可以删除“@ECHO OFF”。
编辑:至于你面临的错误。
变化
open("dosya.txt", "r")
至
open("C:/full/path/to/dosya.txt", "r")
在你打开 dosya.txt 的任何地方都这样做,比如在 dosya.txt 写在下面
您遇到此错误是因为您 运行 从不包含该文件的目录中为脚本执行命令,并且它试图在 运行 中找到该文件ning 目录,找不到它。如果 运行 从您计算机上的任何目录设置完整路径将使脚本工作。
我写了一个脚本,可以在 PC 启动时自动运行任何脚本
import os
import winreg
class is_at_startup:
'''Adding the given program path to startup'''
def __init__(self, program_path):
self.program_path = program_path
self.program_basename = os.path.basename(self.program_path)
def main(self):
'''Adding to startup'''
if os.path.exists(self.program_path):
areg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
try:
akey = winreg.OpenKey(areg, f'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\{self.program_basename}', 0, winreg.KEY_WRITE)
areg.Close()
akey.Close()
print(f'{self.program_path} already at startup')
except WindowsError:
key = winreg.OpenKey(areg, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 0, winreg.KEY_SET_VALUE)
winreg.SetValueEx(key, f'{self.program_basename}', 0, winreg.REG_SZ, f'{self.program_basename}')
areg.Close()
key.Close()
print(f'{self.program_path} added to startup')
if __name__ == '__main__':
startup = is_at_startup('your program path')
startup.main()
If you are using python 2.7.x then replace winreg with _winreg
from datetime import date
bugun = str(date.today())
if bugun == "2021-04-25":
with open("dosya.py","r+") as dosya:
liste = dosya.readlines()
liste.insert(3,"DenemeBu\n")
del liste[4]
dosya.seek(0)
print(liste)
with open("dosya.py","w") as dosya:
for i in liste:
dosya.write(i)
import os
print("Hello")
sayi1 = int(input("Sayi1: "))
sayi2 = int(input("Sayi2: "))
print("Sonuc {}".format(sayi1+sayi2))
我想用第一个文件更改第二个文件,但我希望第一个文件在我的电脑打开并采用当前日期时打开。当日期更正并更改第二个文件时。
这个方法我试过.bat文件,效果不错,你也可以试试。将您想要在 windows 启动时 运行 的 python 文件放在此位置。 C:\ProgramData\Microsoft\Windows\StartMenu\Programs\StartUp
按 Win + R 并输入 shell:startup
打开您的启动文件夹在此文件夹中,创建一个 txt 文件并将其重命名为 anything.bat 并使用
进行编辑@ECHO OFF
python3 C:/path/to/my/script.py
如果您希望它有一个终端 window 弹出窗口,您可以删除“@ECHO OFF”。
编辑:至于你面临的错误。 变化
open("dosya.txt", "r")
至
open("C:/full/path/to/dosya.txt", "r")
在你打开 dosya.txt 的任何地方都这样做,比如在 dosya.txt 写在下面
您遇到此错误是因为您 运行 从不包含该文件的目录中为脚本执行命令,并且它试图在 运行 中找到该文件ning 目录,找不到它。如果 运行 从您计算机上的任何目录设置完整路径将使脚本工作。
我写了一个脚本,可以在 PC 启动时自动运行任何脚本
import os
import winreg
class is_at_startup:
'''Adding the given program path to startup'''
def __init__(self, program_path):
self.program_path = program_path
self.program_basename = os.path.basename(self.program_path)
def main(self):
'''Adding to startup'''
if os.path.exists(self.program_path):
areg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER)
try:
akey = winreg.OpenKey(areg, f'SOFTWARE\Microsoft\Windows\CurrentVersion\Run\{self.program_basename}', 0, winreg.KEY_WRITE)
areg.Close()
akey.Close()
print(f'{self.program_path} already at startup')
except WindowsError:
key = winreg.OpenKey(areg, r'SOFTWARE\Microsoft\Windows\CurrentVersion\Run', 0, winreg.KEY_SET_VALUE)
winreg.SetValueEx(key, f'{self.program_basename}', 0, winreg.REG_SZ, f'{self.program_basename}')
areg.Close()
key.Close()
print(f'{self.program_path} added to startup')
if __name__ == '__main__':
startup = is_at_startup('your program path')
startup.main()
If you are using python 2.7.x then replace winreg with _winreg