python程序设置开机自启,避坑经验;报错“Non-UTF-8 code starting with”,解决办法

情况说明

  Windows系统下,我已经写好了项目代码,能直接跑;打包成exe文件,整理好相关资源文件后,鼠标双击exe文件,也能跑;然后我想把这个exe文件设置开机自启,借鉴了其他博主的文章:如何让Python脚本开机自启且不显示控制台窗口,然后我使用时就出问题了。

经验

  首先说明,这位博主的方法本身没问题,但是,一种方法、一段代码不可能解决千万网友的问题。所以我使用后,出现了新问题,就给读者分享新问题的解决经验,如下:

(1)在Windows系统下,使用cd进入目录,要跨盘就必须加上/d,例如要从D盘进入C盘,演示如下:

C:\Users\Administrator\Desktop>D:\CheckInAuto
'D:\CheckInAuto' 不是内部或外部命令,也不是可运行的程序
或批处理文件。

C:\Users\Administrator\Desktop>cd D:\CheckInAuto

C:\Users\Administrator\Desktop>cd /d D:\CheckInAuto

D:\CheckInAuto>

注意:这个/dD盘无关,从E盘进入F盘也得是它

(2)用命令启动exe文件,如果使用python test.exe这样的命令报错如下:

图1

说是编码的问题,然后读者尝试网上说的在代码文件开头添加的各种解释编码语句后仍报这个错,你就直接使用命令start test.exe,原理我不甚清楚,但是我的exe文件确实start了。

踩坑经历

  回到开头的“情况说明”部分,我借鉴了那位博主的方法:为exe文件写一个.bat文件,然后放到开机自启目录,下次开机时就能自启。
  那位博主的.bat文件内容如下:

@echo off
if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~0"" h",0)(window.close)&&exit
:begin
D:
cd D:\桌面背景自动更换
python 壁纸.py

  当然我没傻到“D:\桌面背景自动更换”和“壁纸.py”都照抄,因为我是设想别人电脑也能跑我的exe程序,所以cd后的目录我使用os.getcwd()即时获取,python后面也是我的CheckInAuto.exe
  然后我在自己电脑上测试的时候就出问题了。.bat文件中:begin后面跟的是D:,不难猜出要是启动肯定是从D盘开始,然后cd进入程序目录。所以我故意将CheckInAuto.exe放在C盘,模拟它从D盘进入,结果不行!在网上浏览不少文章······后,终于得出前面提出的第一条经验。
  成功进入目录后,使用python CheckInAuto.exe启动我的exe,就出现了前面提到的编码错误:

图3

  尝试了网上常见的几种解释编码方式的语句,如# -*- coding:utf-8 -*-# coding = utf-8# coding=utf-8# coding = gbk等等,都不行,报一样的错。又是一波网上浏览······后,给我得出了前面提过的第二条经验。感觉就像start不问编码方式,而是类似于鼠标双击的操作,我鼠标双击不也没管编码,但是照样能跑。

             创作不易,如果有所帮助,求点赞收藏!谢谢!

tu 3

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值