最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python解決Flutter項(xiàng)目簡(jiǎn)體字問(wèn)題的方法

 更新時(shí)間:2024年07月28日 08:47:57   作者:zeqinjie  
作為面向大陸外市場(chǎng)的應(yīng)用,我們經(jīng)常編寫代碼的時(shí)候往往忘記切換繁體字導(dǎo)致上線后出現(xiàn)簡(jiǎn)體字,因?yàn)檠芯肯聵I(yè)內(nèi)相關(guān)插件,看看怎么好解決這個(gè)問(wèn)題,OpenCC 支持語(yǔ)言比較多,所以基于此嘗試了用 Python 去實(shí)現(xiàn),需要的朋友可以參考下

前言

作為面向大陸外市場(chǎng)的應(yīng)用,我們經(jīng)常編寫代碼的時(shí)候往往忘記切換繁體字導(dǎo)致上線后出現(xiàn)簡(jiǎn)體字。因?yàn)檠芯肯聵I(yè)內(nèi)相關(guān)插件,看看怎么好解決這個(gè)問(wèn)題。 OpenCC 支持語(yǔ)言比較多,所以基于此嘗試了用 Python 去實(shí)現(xiàn)。

遇到問(wèn)題

1、不支持 m1 的芯片issue 。 最后采用的是他人修改后的包 ds-opencc

2、不過(guò) ds-opencc 要求 python 版本最低需要 3.11.x support macos arm64 記錄

結(jié)合 git hooks

結(jié)合 git hooks 我們可以很好在每次提交代碼去執(zhí)行一次腳本

1.創(chuàng)建 Git 鉤子 在你的 Git 倉(cāng)庫(kù)中,進(jìn)入 .git/hooks 目錄。創(chuàng)建一個(gè)名為 pre-commit 的文件,Git 會(huì)在執(zhí)行 git commit 之前調(diào)用這個(gè)鉤子

#!/bin/bash

# 進(jìn)入你的項(xiàng)目目錄
cd "$(dirname "$0")/../.."

# 執(zhí)行 Python 腳本
python3 path/to/your/chinese_convert.py -p "$(pwd)"

# 檢查腳本執(zhí)行是否成功
if [ $? -ne 0 ]; then
    echo "轉(zhuǎn)換失敗,提交被取消!"
    exit 1
fi

當(dāng)然如果是使用了 pyenv 管理 python 版本時(shí),可能我們需要激活對(duì)應(yīng)的版本腳本可以改成如下

#!/bin/bash

# 進(jìn)入你的項(xiàng)目目錄
cd "$(dirname "$0")/../.."

path="$(pwd)"

cd xxx/TWHouseScript

# 確保 pyenv 已經(jīng)初始化
if command -v pyenv >/dev/null; then
  eval "$(pyenv init --path)"
  eval "$(pyenv init -)"
else
  echo "pyenv 未安裝或未正確初始化"
  exit 1
fi

# 激活虛擬環(huán)境
if pyenv versions | grep -q 'env3124'; then
  pyenv activate env3124
else
  echo "指定的 pyenv 虛擬環(huán)境不存在"
  exit 1
fi

python3 chinese_convert.py -p "$path"

# 檢查腳本執(zhí)行是否成功
if [ $? -ne 0 ]; then
    echo "轉(zhuǎn)換失敗,提交被取消!"
    exit 1
fi

2.賦予執(zhí)行權(quán)限

chmod +x .git/hooks/pre-commit

python 代碼

import os
import sys
import getopt
import ds_opencc

# 創(chuàng)建 OpenCC 實(shí)例
cc = ds_opencc.OpenCC('s2tw.json')


def is_comment(line):
    # 判斷是否是 Dart 文件中的注釋
    return line.strip().startswith('//') or line.strip().startswith('/*') or line.strip().endswith('*/') or line.strip().startswith('*')


def convert_file(file_path):
    with open(file_path, 'r', encoding='utf-8') as file:
        lines = file.readlines()

    converted_lines = []
    in_block_comment = False

    for line in lines:
        if '/*' in line and '*/' not in line:
            in_block_comment = True
        elif '*/' in line:
            in_block_comment = False

        if in_block_comment or is_comment(line):
            converted_lines.append(line)
        else:
            converted_lines.append(cc.convert(line))

    with open(file_path, 'w', encoding='utf-8') as file:
        file.writelines(converted_lines)


def convert_dart_files_in_directory(directory):
    print(f'Converting Dart files in {directory}...')
    for root, _, files in os.walk(directory):
        for file in files:
            if file.endswith('.dart'):
                convert_file(os.path.join(root, file))

# python chinese_convert.py -p '/Users/zhengzeqin/Desktop/GitLab/tw591_xxx'
if __name__ == '__main__':
    argv = sys.argv[1:]
    # 項(xiàng)目路徑
    project_path = ""
    try:
        opts, args = getopt.getopt(argv, "p:", ["path="])
    except getopt.GetoptError:
        print('convert.py -p "項(xiàng)目路徑"')
        sys.exit(2)

    print("opts ===>", opts)

    for opt, arg in opts:
        if opt in ["-p", "--path"]:
            project_path = arg
            if len(project_path) == 0:
                print('請(qǐng)輸入項(xiàng)目的地址')
                sys.exit('請(qǐng)輸入項(xiàng)目的地址')

    # 獲取需要修復(fù)項(xiàng)目的路徑
    if len(project_path) == 0:
        current_directory = os.path.dirname(os.path.abspath(__file__))
    else:
        current_directory = project_path
    print(f'current_directory: {current_directory}')
    convert_dart_files_in_directory(current_directory)

以上就是Python解決Flutter項(xiàng)目簡(jiǎn)體字問(wèn)題的方法的詳細(xì)內(nèi)容,更多關(guān)于Python Flutter簡(jiǎn)體字的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python ellipsis 的用法詳解

    Python ellipsis 的用法詳解

    這篇文章主要介紹了Python ellipsis 的用法詳解,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11
  • 詳解Python中__new__方法的作用

    詳解Python中__new__方法的作用

    Python類中有些方法名、屬性名的前后都添加__雙下畫(huà)線,這種方法、屬性通常屬于Python的特殊方法和特殊屬性。本文將聊聊構(gòu)造方法__new__實(shí)際程序的應(yīng)用場(chǎng)景,感興趣的可以了解一下
    2022-03-03
  • Python?Fastapi實(shí)現(xiàn)統(tǒng)一處理各種異常

    Python?Fastapi實(shí)現(xiàn)統(tǒng)一處理各種異常

    這篇文章主要為大家詳細(xì)介紹了Python如何在Fastapi中實(shí)現(xiàn)統(tǒng)一處理各種異常,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-06-06
  • 利用Python實(shí)現(xiàn)Excel表格轉(zhuǎn)換為HTML格式

    利用Python實(shí)現(xiàn)Excel表格轉(zhuǎn)換為HTML格式

    在數(shù)據(jù)驅(qū)動(dòng)的時(shí)代,Excel表格作為信息存儲(chǔ)的常用載體,其內(nèi)容如何高效地在Web端展示,成為了許多開(kāi)發(fā)者和數(shù)據(jù)分析師面臨的挑戰(zhàn),本文將深入探討如何利用Python,實(shí)現(xiàn)Excel表格到HTML的批量、自動(dòng)化轉(zhuǎn)換,需要的朋友可以參考下
    2025-10-10
  • 利用Python半自動(dòng)化生成Nessus報(bào)告的方法

    利用Python半自動(dòng)化生成Nessus報(bào)告的方法

    這篇文章主要介紹了利用Python半自動(dòng)化生成Nessus報(bào)告的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-03-03
  • python實(shí)現(xiàn)圖像的二分類的示例詳解

    python實(shí)現(xiàn)圖像的二分類的示例詳解

    要實(shí)現(xiàn)圖像的二分類,可以使用深度學(xué)習(xí)中的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)模型,本文將使用Keras庫(kù)實(shí)現(xiàn)的簡(jiǎn)單CNN模型示例,感興趣的同學(xué)跟著小編一起來(lái)看看吧
    2023-08-08
  • Python多線程threading模塊用法實(shí)例分析

    Python多線程threading模塊用法實(shí)例分析

    這篇文章主要介紹了Python多線程threading模塊用法,結(jié)合實(shí)例形式分析了Python多線程threading模塊原理、功能、常見(jiàn)應(yīng)用及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • Python?OpenCV形態(tài)學(xué)運(yùn)算示例詳解

    Python?OpenCV形態(tài)學(xué)運(yùn)算示例詳解

    這篇文章主要為大家介紹了OpenCV中的幾個(gè)形態(tài)學(xué)運(yùn)算,例如:腐蝕&膨脹、開(kāi)&閉運(yùn)算、梯度運(yùn)算、頂帽運(yùn)算黑帽運(yùn)算,感興趣的可以了解一下
    2022-04-04
  • python中Ansible模塊的Playbook的具體使用

    python中Ansible模塊的Playbook的具體使用

    這篇文章主要介紹了python中Ansible模塊的Playbook的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • Django路由層URLconf作用及原理解析

    Django路由層URLconf作用及原理解析

    這篇文章主要介紹了Django路由層URLconf作用及原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09

最新評(píng)論

巴林右旗| 洪江市| 凭祥市| 上栗县| 惠州市| 玉环县| 米泉市| 邹平县| 新源县| 旬阳县| 获嘉县| 新巴尔虎右旗| 桦川县| 五台县| 汝阳县| 库车县| 永吉县| 绥芬河市| 通道| 瑞昌市| 余姚市| 十堰市| 高安市| 双牌县| 富阳市| 哈尔滨市| 义乌市| SHOW| 门头沟区| 黄大仙区| 广灵县| 岚皋县| 黑山县| 普洱| 临澧县| 黄浦区| 弥勒县| 大英县| 通道| 松江区| 铜陵市|