コレクションに適した6つの非常に実用的なPythonコードブロック〜

みなさん、こんにちは。今日は、私が普段使っているPythonコードブロックをいくつか紹介します。それぞれが小さくて洗練されています。フォロー、いいね、お気に入りを忘れないでください。

1.ファイル名をバッチ変更

日常業務では、次のような要件があります。フォルダ内のすべてのjpg画像をpngに変換します。フォルダ内の画像が4〜5枚しかない場合、手動で変更しても問題ありませんが、数が数百に達する場合は写真、それは少し難しいでしょう。それは頭痛の種です、このコードブロックはこの種の問題を解決するために設計されています

import os


def batch_rename(work_dir, old_ext, new_ext):
    # files = os.listdir(work_dir)
    for filename in os.listdir(work_dir):
        # Get the file extension
        split_file = os.path.splitext(filename)
        # Unpack tuple element
        root_name, file_ext = split_file
        # Start of the logic to check the file extensions, if old_ext = file_ext
        if old_ext == file_ext:
            # Returns changed name of the file with new extention
            newfile = root_name + new_ext

            # Write the files
            os.rename(
                os.path.join(work_dir, filename),
                os.path.join(work_dir, newfile)
            )
    print("rename is done!")
    print(os.listdir(work_dir))

2、フォルダ内の指定されたすべてのファイル名を返します

現在のフォルダに含まれるすべてのpngファイルまたはpng画像の数をカウントする必要がある場合があります。この関数はファイルの取得によく使用されます。標準ライブラリosにはいくつかの強力な関数がありますが、どれも私たちのニーズを満たすことができません。以下のこのコードブロックが役立つかもしれないと思います!

def get_filename(path,filetype):  # 输入路径、文件类型 例如'.csv'
    name = []
    for root,dirs,files in os.walk(path):
        for i in files:
            if filetype+' ' in i+' ':    # 这里后面不加一个字母可能会出问题,加上一个(不一定是空格)可以解决99.99%的情况
                name.append(i)        
    return name            # 输出由有后缀的文件名组成的列表

3、フォルダが存在しない場合は自動的に作成されます

この機能は、主にosモジュール

  • os.path.exists(path)フォルダが存在するかどうかを確認します。

  • os.makedirs(path)フォルダーを作る

import os  # Import the OS module

MESSAGE = 'The directory already exists.'
TESTDIR = 'testdir'
try:
    home = os.path.expanduser("~")  
    print(home)  # Print the location

    if not os.path.exists(os.path.join(home, TESTDIR)):  # os.path.join() for making a full path safely
        os.makedirs(os.path.join(home, TESTDIR))  # If not create the directory, inside their home directory
    else:
        print(MESSAGE)
except Exception as e:
    print(e)

4.現在の動作環境を印刷します

Pythonスクリプトを使用して、システム(Linux、Windows)、アーキテクチャ(32ビットまたは64ビット)、プロセッサ、Pythonバージョン、および現在のコンピュータの動作環境をすばやく確認する場合は、次のコードブロックが役立ちます。

import platform as pl

profile = [
    'architecture',
    'machine',
    'node',
    'platform',
    'processor',
    'python_build',
    'python_compiler',
    'python_version',
    'release',
    'system',
    'version',
]


class bcolors:
    HEADER = '\033[95m'
    OKBLUE = '\033[94m'
    OKGREEN = '\033[92m'
    WARNING = '\033[93m'
    FAIL = '\033[91m'
    ENDC = '\033[0m'
    BOLD = '\033[1m'
    UNDERLINE = '\033[4m'


for key in profile:
    if hasattr(pl, key):
        print(key + bcolors.BOLD + ": " + str(getattr(pl, key)()) + bcolors.ENDC)

写真

5.指定したフォルダのメモリサイズを取得します

このモジュールは日常業務では使用しない場合があります。ファイルサイズを確認するには、マウスの右ボタンでコードを実行してファイルの属性情報を表示することをお勧めしますが、将来の開発作業では、この関数を埋め込むことができます。機能として開発され监控文件夹内存大小た存在します

import os
import sys  # Load the library module and the sys module for the argument vector'''

try:
    directory = "H:/" # Set the variable directory to be the argument supplied by user.
except IndexError:
    sys.exit("Must provide an argument.")

dir_size = 0  # Set the size to 0
fsizedicr = {
    
    'Bytes': 1,
             'KB': float(1) / 1024,
             'MB': float(1) / (1024 * 1024),
             'GB': float(1) / (1024 * 1024 * 1024)}
for (path, dirs, files) in os.walk(
        directory):
    for file in files:  # Get all the files
        filename = os.path.join(path, file)
        dir_size += os.path.getsize(filename)  # Add the size of each file in the root dir to get the total size.

fsizeList = [str(round(fsizedicr[key] * dir_size, 2)) + " " + key for key in fsizedicr]  # List of units

if dir_size == 0:
    print("File Empty")  # Sanity check to eliminate corner-case of empty file.
else:

    for units in sorted(fsizeList)[::-1]:  # Reverse sort list of units so smallest magnitude units print first.
        print("{} Folder Size: ".format(directory)+ units)

写真

6、時限シャットダウンまたは再起動

osのシステム機能は、タイミングコマンドを含む電源のオン/オフを実現するためのいくつかのパラメータを設定できます。さらに、このコードブロックはポピュラーサイエンス専用です。コンピュータを使用している場合は、試さないでください、、、

import os
from os import system

# 关机
# os.system("shutdown -s -t  60 ")

# 重启
system("shutdown -r -t 100")

まとめ

以上がこの記事の全内容です。これらのコードブロックが今後の日常業務に役立つことを願っています。記事の内容が良いと思われる場合は、忘れずに気に入ってください。これは私にとっても励みになります。 。

おすすめ記事

テクノロジーエクスチェンジ

転載、収集、いいね、サポートへようこそ!

ここに画像の説明を挿入

現在、技術交流グループが開設されており、2,000人以上のメンバーがいます。追加する際のコメントとしては、情報源+興味の方向性が最適です。これは、志を同じくする友人を見つけるのに便利です。

  • 方法1.次の画像をWeChatに送信し、長押しして識別し、バックグラウンドで返信します。グループを追加します。
  • 方法②、マイクロ信号を追加:dkl88191、注:CSDNから
  • 方法③、WeChat検索パブリックアカウント:Python学習とデータマイニング、バックグラウンド応答:グループを追加

長押しフォロー

おすすめ

転載: blog.csdn.net/weixin_38037405/article/details/124344880