问题描述
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))
我想用第一个文件更改第二个文件,但我想在我的电脑打开并采用当前日期时打开第一个文件。当日期更正并更改第二个文件时。
解决方法
通过按 Win + R 并输入 shell:startup 来打开您的启动文件夹
在此文件夹中,创建一个txt文件并将其重命名为anything.bat并使用
进行编辑@ECHO OFF
python3 C:/path/to/my/script.py
如果您希望弹出终端窗口,您可以删除“@ECHO OFF”。
编辑:至于您面临的错误。 改变
open("dosya.txt","r")
到
open("C:/full/path/to/dosya.txt","r")
在打开 dosya.txt 的任何地方都这样做,就像在下面写的 dosya.txt 一样
您遇到此错误是因为您正在从不包含该文件的目录中运行脚本命令,并且它试图在其运行目录中找到该文件但找不到它。如果从您计算机上的任何目录运行,设置它的完整路径将使脚本工作。
,我已经为 .bat 文件尝试过这种方式,它有效,您也可以尝试。将要在 Windows 启动时运行的 Python 文件放在此位置。 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
,我写了一个脚本,可以在电脑启动时自动运行任何脚本
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}',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',winreg.KEY_SET_VALUE)
winreg.SetValueEx(key,f'{self.program_basename}',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()
如果您使用的是 python 2.7.x,则将 winreg 替换为 _winreg