fork download
  1. # -*- coding: utf-8 -*-
  2. # ImageJでとったラインプロファイルについて、濃度ピークの間隔を算出するためのコード
  3. # 必要なモジュールの読み込み
  4. import sys
  5. import os
  6. import re
  7. from string import *
  8. #文字コード指定に必要
  9. import codecs
  10.  
  11. #パス指定小楽でスクリプト配置フォルダのファイル一覧取得
  12. files = os.listdir('C:\\test')
  13. for file in files:
  14. #まず.txtを含むファイルのみ読込
  15. txt = re.compile(".txt")
  16. if txt.search(file):
  17.  
  18. # 入力ファイルを開く
  19. indat = codecs.open(file, "r", 'shift_jis')
  20.  
  21. # 開いた入力ファイルを読む準備
  22. inline = indat.readline()
  23.  
  24. # 読み込んだデータをディクショナリとして保存
  25. data_dic = {}
  26.  
  27. # 開いたファイルを順番に最後の行まで読む
  28. while inline:
  29.  
  30. # データを収めるために空のリストを作成。ループするたび、リストを空にする
  31. data_list = []
  32.  
  33. # 各行がキーワードに当てはまるかチェックし、キーワードに当てはまる行に対し、カンマで文章を区切り、必要な情報だけを取り出す。
  34. first = strip(re.split('\t', inline)[0])
  35. second = strip(re.split('\t', inline)[1])
  36.  
  37. pixel = int(first)
  38. density = double(second)
  39.  
  40. # データをリストとして保存
  41. data_list = [density]
  42.  
  43. # リストに収めたデータをディクショナリに収める。ディクショナリのキーには、CASTのIDを使う
  44. data_dic[pixel] = data_list
  45.  
  46. # 次の行を読む
  47. inline = indat.readline()
  48.  
  49. # 入力ファイルを閉じる
  50. indat.close()
  51.  
  52. #画像濃度ピークのピクセルを入れる配列
  53. peak = []
  54.  
  55. # ディクショナリの各アイテムにアクセスし、データをテキスト形式にフォーマットして書きだす
  56. for d in data_dic.keys():
  57.  
  58. # ディクショナリの1つのアイテムを取り出す
  59. unpacked = data_dic[d]
  60.  
  61. if data_dic[d] > data_dic[d-2] > data_dic[d-1]:
  62. flag1 = 1
  63.  
  64. else:
  65. flag1 = 0
  66.  
  67.  
Runtime error #stdin #stdout #stderr 0.01s 7848KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
Traceback (most recent call last):
  File "prog.py", line 12, in <module>
OSError: [Errno 2] No such file or directory: 'C:\\test'