python 创建日记文件脚本并打包成exe程序

脚本代码

参考案例 https://gitee.com/haujet/Diaryicon-default.png?t=LA92https://gitee.com/haujet/Diary

和风天气API:和风天气开发平台 ~ 高效强大的天气API,天气SDK和天气插件icon-default.png?t=LA92https://dev.qweather.com/

复制代码,保存为.pyw格式,双击运行。

'''
### 脚本用法:
这是一个 python 脚本,下载安装 python 后,双击脚本就可以运行。
### 脚本用途:
首先用文本编辑器编辑脚本,
在下面设定一个日记本根目录,
然后运行这个脚本,
脚本根据当前的日期,在日记本根目录下创建对应的年文件夹、月文件,并且打开它。
比如你的笔记本根目录是 `D:/Diary` ,今天是 2020 年 11 月 ,那么在运行此脚本后,
会自动创建上 `D:/Diary/2020/11.md` 文件,并且会打开它。
'''

import os
import datetime
import time
import platform
import subprocess
import urllib.request
import json
from datetime import datetime

# 导入requests包
import requests

日记根目录 = 'D:/666/Diary'

# 得到当前时间,格式是这样的:
# time.struct_time(tm_year=2020, tm_mon=10, tm_mday=6, tm_hour=18, tm_min=41, tm_sec=53, tm_wday=1, tm_yday=280, tm_isdst=0)
currentTime = time.localtime(time.time())
currentDate = str(currentTime.tm_year) + '-' + str(currentTime.tm_mon) + '-' + str(currentTime.tm_mday)


def get_week_weather():
    url = 'https://devapi.qweather.com/v7/weather/3d?location=101180101&key=e5**********fe'
    # 1. 组装请求
    # url = "http://httpbin.org/get"  # 这里只有url,字符串格式
    # 2. 发送请求,获取响应
    res = requests.get(url)  # res即返回的响应对象
    # 3. 解析响应
    aa = res.json()
    day = aa["daily"][0]

    # 获取当前是周几
    week_list = ['星期一', '星期二', '星期三', '星期四', '星期五', '星期六', '星期日']

    num = datetime.now().weekday()

    # 星期一 6~15℃ 东南风 2级
    week_weather = week_list[num] + ' ' + day["textDay"] + " " + day["tempMin"] + '~' + day["tempMax"] + '℃ ' + day["windDirDay"] + day["windScaleDay"] + "级"

    return week_weather

def openFile(path):
    d = datetime.today()  # 获取当前日期时间

    d.isoweekday()  # 获取时间周几


    '''
    输入一个文件路径
    如果路径不存在,那就先创建它
    然后用系统默认方式打开这个文件
    '''
    sysPlatfm = platform.system()  # 先获得系统信息
    if not os.path.exists(os.path.dirname(path)):
        try:
            os.makedirs(os.path.dirname(path))
        except:
            print(f'创建文件夹失败:{os.path.dirname(path)}')
            return False
    if not os.path.exists(path):
        try:
            f = open(path, 'a+', encoding='UTF-8')
            f.write('### ' + currentDate + ' ' + get_week_weather() + '\n')

        except:
            print(f'创建文件失败:{path}')
            return False
    else:

        try:
            with open(path, 'r', encoding='UTF-8') as fr:
                lines = fr.read()
                if (lines.find(currentDate) != -1):
                    pass
                    fr.close()
                else:
                    fr.close()
                    # 追加数据
                    f = open(path, 'a+', encoding='UTF-8')
                    f.write('\n\n' + '### ' + currentDate + ' ' + get_week_weather() + '\n')
                    f.close()

        except:
            print(f'打开文件失败:{path}')
            return False

    try:  # 如何打开文件还是要分系统的
        if sysPlatfm == 'Darwin':  # 如果是 MacOS 系统
            import shlex
            os.system("open " + shlex.quote(path))
        elif sysPlatfm == 'Windows':  # 如果是 Windows 系统
            os.startfile(os.path.realpath(path))
        elif sysPlatfm == 'Linux':
            subprocess.call(["xdg-open", path])
    except:
        print('未能打开文件')


# 得到当前日期下的日记路径
# 类似这样的:D:/Users/Haujet/Documents//Diary/2020/10/06.md
# pathToTodayDiary = 日记根目录.replace('\\', '/').rstrip('/') + '/' + str(currentTime.tm_year) + '/' + '{:0>2d}'.format(currentTime.tm_mon) + '/' + '{:0>2d}'.format(currentTime.tm_mday) + '.md'

pathToTodayDiary = 日记根目录.replace('\\', '/').rstrip('/') + '/' + str(currentTime.tm_year) + '/' + format(
    currentTime.tm_mon) + '.md'

# 打开本月的日记
openFile(pathToTodayDiary)



打包pyw文件

参考教程 【python拓展】使用pyinstaller打包py或pyw文件。_Takanawa-door的博客-CSDN博客_生成pyw文件

pip install pywin32

pip install pyinstaller

D:\666> pyinstaller -F -i favicon.ico .\Diary.pyw

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值