pythonは行ごとにテキストファイルを切り分ける方法を実現します。


本論文の例は、pythonがテキストファイルを行単位で分割する方法を説明する。皆さんに参考にしてあげます。具体的には以下の通りです。
pythonスクリプトはshellコマンドを使用してテキストの操作を実現します。これらのコマンドはコード量を大幅に削減します。
たとえば、行ごとにファイルを分割し、分割して得られたファイルリストを返します。内部に作成されたスプリットコマンドで分割できます。得られたファイルリスト名を返すために、先にファイルを自分のサブディレクトリに切り分けてから、OS.listdirを通じてすべてのファイルを取得して、これらのファイルを前のレベルのディレクトリ(すなわち関数パラメータ指定の新しいディレクトリ)に移動して、自己構築サブディレクトリを削除して、最後にファイル名のリストに戻ります。
コードは以下の通りです。問題が発見されたら、ご指摘ください。

#      
def make_dirs(path):
  if not os.path.isdir(path):
    os.makedirs(path)
#        
def get_total_lines(file_path):
  if not os.path.exists(file_path):
    return 0
  cmd = 'wc -l %s' % file_path
  return int(os.popen(cmd).read().split()[0])
#   split_file_by_row:       
# filepath:        
# new_filepath:         
# row_cnt:           
# suffix_type:        ,        
# return:         
def split_file_by_row(filepath, new_filepath, row_cnt, suffix_type='-d'):
  tmp_dir = "/split_file_by_row/"
  make_dirs(new_filepath)
  make_dirs(new_filepath+tmp_dir)
  total_rows = get_total_lines(filepath)
  file_cnt = int(math.ceil(total_rows*1.0/row_cnt))
    command = "split -l%d -a2 %s %s %s" % (row_cnt, suffix_type, filepath, new_filepath+tmp_dir)
    os.system(command)
    filelist = os.listdir(new_filepath+tmp_dir)
  command = "mv %s/* %s"%(new_filepath+tmp_dir, new_filepath)
  os.system(command)
  command = "rm -r %s"%(new_filepath+tmp_dir)
  os.system(command)
  return [new_filepath+fn for fn in filelist]

Pythonに関する詳細について興味がある読者は、本駅のテーマを見てください。「Python関数使用テクニックのまとめ」「Python文字列操作テクニックのまとめ」「Python入門と階段の経典教程」「Pythonファイルとディレクトリ操作の概要
ここで述べたように、皆様のPythonプログラムの設計に役に立ちます。