banner
andrewji8

Being towards death

Heed not to the tree-rustling and leaf-lashing rain, Why not stroll along, whistle and sing under its rein. Lighter and better suited than horses are straw sandals and a bamboo staff, Who's afraid? A palm-leaf plaited cape provides enough to misty weather in life sustain. A thorny spring breeze sobers up the spirit, I feel a slight chill, The setting sun over the mountain offers greetings still. Looking back over the bleak passage survived, The return in time Shall not be affected by windswept rain or shine.
telegram
twitter
github

驚くべきPython自動化スクリプト、あなたは試すべきです(5)

9、Readme.md 生成器は、あなたのリポジトリの中で最も重要なファイルの一つと見なされていますが、同時に作成するのにかなりの時間がかかります。

import os

def get_input(prompt, default=""):
    value = input(f"{prompt} [{default}]: ").strip()
    return value if value else default

def generate_readme():
    print("README.mdへようこそ!")
    print("以下の質問に答えて、あなたのREADMEファイルを生成してください。デフォルト値を使用する場合は、直接Enterを押してください。")

    # プロジェクト情報の取得
    project_name = get_input("プロジェクト名")
    description = get_input("プロジェクトの簡単な説明")
    author = get_input("著者", os.getenv("USER", "あなたの名前"))
    
    # さらなる詳細の取得
    installation = get_input("インストール手順", "pip install your-package-name")
    usage = get_input("使用例", "from your_package import main\n\nmain()")
    contributing = get_input("貢献方法", "プルリクエストを歓迎します")
    license_type = get_input("ライセンス", "MIT")

    # README内容の生成
    readme_content = f"""# {project_name}

{description}

## インストール

{installation}


## 使用

```python
{usage}

貢献#

{contributing}

ライセンス#

本プロジェクトは {license_type} ライセンスの下で提供されています。詳細は LICENSE ファイルをご覧ください。

著者#

{author}
"""

# README.mdファイルに書き込む
with open("README.md", "w", encoding="utf-8") as f:
    f.write(readme_content)

print("README.mdが正常に生成されました!")

if name == "main":
generate_readme()

10、OrganizeIT 2.0 この自動化スクリプトは、数分以内にあなたのフォルダーを整理するのに役立ちます。整理したいパスを指定するだけで、このスクリプトはファイル拡張子に基づいてすべてのファイルを異なるフォルダーに自動的に振り分けます。

import os
import hashlib
import shutil
from typing import Dict, Tuple

def get_file_hash(file_path: str) -> str:
    """ファイルのSHA-256ハッシュ値を計算します"""
    with open(file_path, 'rb') as f:
        return hashlib.sha256(f.read()).hexdigest()

def create_folder(path: str) -> None:
    """フォルダーを作成します。既に存在する場合は無視します"""
    os.makedirs(path, exist_ok=True)

def move_file(src: str, dst: str) -> None:
    """ファイルを移動し、操作情報を印刷します"""
    shutil.move(src, dst)
    print(f"{os.path.basename(src)}{os.path.dirname(dst)}に移動しました")

def organize_and_move_duplicates(folder_path: str) -> None:
    """フォルダーを整理し、重複ファイルを移動します"""
    extension_folders: Dict[str, str] = {}
    file_hashes: Dict[str, str] = {}
    duplicates_folder = os.path.join(folder_path, 'Duplicates')
    create_folder(duplicates_folder)

    for filename in os.listdir(folder_path):
        file_path = os.path.join(folder_path, filename)
        if not os.path.isfile(file_path):
            continue

        _, extension = os.path.splitext(filename)
        extension = extension.lower()

        if extension not in extension_folders:
            destination_folder = os.path.join(folder_path, extension[1:] or 'NoExtension')
            create_folder(destination_folder)
            extension_folders[extension] = destination_folder

        file_hash = get_file_hash(file_path)

        if file_hash in file_hashes:
            move_file(file_path, os.path.join(duplicates_folder, filename))
        else:
            file_hashes[file_hash] = filename
            move_file(file_path, extension_folders[extension])

def main() -> None:
    folder_path = input("整理したいフォルダーのパスを入力してください: ").strip()
    if not os.path.isdir(folder_path):
        print("入力されたパスは有効なフォルダーではありません。")
        return
    organize_and_move_duplicates(folder_path)

if __name__ == "__main__":
    main()
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。