Python実装ファイルのバッチトランスコーディング

   原因:ジュニア日本人留学生は、サイト上で本をサポートするサンプルをダウンロードし、授業中に修理プログラミング言語Cの画像処理を行うが、ubuntu18.04システムので、私はデフォルトでUTF-8エンコーディングを使用すると、ファイルがソースコードでありますShift_JISのエンコーディングは、これドキュメンテーションコメントが文字化けしています。新しいフォルダを保存するためのpython「.C」と「.H」ファイルを使用して、システムのデフォルトのエンコード、エンコーディング変換を変更せず、そのまま残っているファイルをコピーします。


 

。1つの インポートOS
 2  
3。 ABSPATH = " /ホーム/ fanghaoyu /デスクトップ/ライブラリ/ "   #の新しいフォルダへのパス
4。 試してみる5      os.makdirs(ABSPATH)  新しいフォルダを作成します
6。 を除くFileExistsError:
 7      パス
。8 A = []   定義リストAは、元のファイルがパスを格納するのに使用される
。9 B = []  新しいファイルパスを格納するために使用される定義リストBは、
10  
。11  
12は #1 を再帰的に新しいフォルダにファイル、変更コードを取得する機能、 .Cと.hファイルがコピーされていない場合は
13  DEFのGET_FILE_NAME(パス1、パス2):
 14の     ためにos.listdir(パス1):
 15          もしos.path.isdir(os.path.join(パス1、I)):
 16              試み17                  os.makedirs(os.path.join(パス2、i))を
 18              除いFileExistsError。
 19の                 パス
20              GET_FILE_NAME(os.path.join(パス1、I)、os.path.join(パス2、i))を
 21          22              a.append(os.path.join(パス1、i))を
 23              b.append (os.path.join(パス2、i))を
 24              もし [-1] .endswith(' .C 'または [-1] .endswith(' .H ' ):
25                  オープンと([-1]、' R ' =、エンコーディング' はShift_JIS ' :FPとして)
 26個の                      S = fp.read()
 27                      オープンと(B [-1]、' W ' )FP2として:
 28                          FP2 .WRITE(S)
 29                          fp2.close()
 30              31                  [-1] [-1] .replace(= '  '' \ ').replaceを(' '' \(').replace(' '' \)' 32件の                  B [-1] = bの[-1] .replace('  '' \ ').replace(' '' \(').replace(' '' \)' 33                  os.system(' CP {} {} ' .format([-1] .strip(' \' ' は、B [-1] .strip(' \」')))
 34  
35     戻り0
 36  
37  
38 GET_FILE_NAME(" /ホーム/ fanghaoyu /桌面/ prog978-4-7856-3179-6 / " 、ABSPATH)
 39  プリント(A)
 40  プリント(LEN(A))
 41  プリント(B)
 42  プリント( LEN(b)参照)

 

結果は以下の通りであります:

/ fanghaoyu /デスクトップ/パイソン/ /usr/bin/python3.6 /ホームcoding_change.py
[ ' /ホーム/ fanghaoyu /デスクトップ/prog978-4-7856-3179-6/chap06/vq.c '' /ホーム/ fanghaoyu /デスクトップ/prog978-4-7856-3179-6/chap06/vqcode.c ' 、...]
 1970 
[ ' /ホーム/ fanghaoyu /デスクトップ/libraries/chap06/vq.c '' /ホーム/ fanghaoyu /デスクトップ/libraries/chap06/vqcode.c ' 、...]
 1970

プロセス終了コード0で終了

 

いくつかはに注意する必要があります。

  1. 元のファイルを開くことがオープン、オープン方法R「」、符号エンコーディングを設定する必要が=「のShift_JIS」
  2. Ubuntuののos.systemシェルコマンドPythonコマンドの呼び出し()、ファイル名はCPが含まれている場合「」、「(」、「)」3、あなたはバックスラッシュを追加する必要が「\」、それ以外の場合は文句を言うでしょう

PS:最初のブログ、してください展示会。私は、サンプルをダウンロードして、私の教科書を共有するサイト

2019-10-14-13:19:21

 

おすすめ

転載: www.cnblogs.com/haoyufang/p/11670879.html