0

私は初心者です。フォルダーから古い Google Chrome アプリケーション バージョンをクリーンアップするスクリプトを作成したいと考えていましたが、効率的な方法でアプリケーションのバージョン番号を "並べ替える" 方法を考えていました。これを行う最善の方法は何ですか?

ここに私の「春の大掃除」スクリプトがあります:

import os
import sys
import re
import operator
import shutil


GOOGLE_CHROME_APPLICATION_VERSIONS_DIRECTORY=r'C:\Documents and Settings\Administrator\Local Settings\Application Data\Google\Chrome\Application'

REGEX_GOOGLE_CHROME_APPLICATION_VERSION = '^(\d+)\.(\d+)\.(\d+)\.(\d+)$'


def sorted_by_version_number(versions_list):
  version_elements = len(versions_list[0])
  for index in range(version_elements-1, 0, -1):
    key = operator.itemgetter(index)
    versions_list.sort(key=key, reverse = True)
  return versions_list


def delete_old_google_chrome_versions():
  REGEX = re.compile(REGEX_GOOGLE_CHROME_APPLICATION_VERSION)
  application_versions = []
  for filename in os.listdir(GOOGLE_CHROME_APPLICATION_VERSIONS_DIRECTORY):
    filepath = os.path.join(GOOGLE_CHROME_APPLICATION_VERSIONS_DIRECTORY,
                            filename)
    if os.path.isdir(filepath):
      match = REGEX.match(filename)
      if match:
        version = (v1, v2, v3, v4) = [int(match.group(i)) for i in range(1, 5)]
        application_versions.append(version)
  versions_to_delete = sorted_by_version_number(application_versions)[1:]
  for application_version in versions_to_delete:
    directory_name = '.'.join([str(v) for v in application_version])
    directory_path = os.path.join(GOOGLE_CHROME_APPLICATION_VERSIONS_DIRECTORY,
                                  directory_name)
    print('Deleting Google Chrome application directory: {}...'.format(
      directory_path))
    # shutil.rmtree(directory_path)


def main():
  delete_old_google_chrome_versions()


if __name__ == '__main__':
  main()

必要に応じて、このスクリプトをどのように改善できますか? 私はPythonでは本当に役に立たないので、どんなアドバイスも役に立ちます。

4

1 に答える 1

0

この質問に対する私の答えは、Pythonに直接変換されます。

jsを使用してソフトウェアのバージョン番号を比較するにはどうすればよいですか?(番号のみ)

この比較アルゴリズムを使用して、リストを並べ替えることができます。

于 2013-02-21T12:22:46.797 に答える