Py学习  »  Python

在python中操作文本文件并创建新的文本文件

user10657934 • 5 年前 • 1640 次点击  

我将新模型和标签文件都复制到ios应用程序中。应用程序参数如下:

toco \
    --graph_def_file=pola_retrained.pb \
    --output_file=mobilenet_v1_1.0_224.tflite \
    --input_format=TENSORFLOW_GRAPHDEF \
    --output_format=TFLITE \
    --inference_type=QUANTIZED_UINT8 \
    --inference_input_type=QUANTIZED_UINT8 \
    --input_array=Placeholder \
    --output_array=final_result \
    --input_shape=1,224,224,3\
    --default_ranges_min=0 \
    --default_ranges_max=6 \
    --mean_value=128 \
    --std_dev_values=128 \
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/42935
 
1640 次点击  
文章 [ 2 ]  |  最新文章 5 年前
blhsing
Reply   •   1 楼
blhsing    6 年前

您可以将sum与生成器表达式一起使用,以小的形式计算与条件匹配的行数,然后使用str.join生成所需的输出:

major = '''chr1    +   1071396 1271396 LOC
chr12   +   1101483 1121483 MIR200B'''

minor = '''chr1    1071496 1071536 1
chr1    1071536 1071566 0
chr1    1073566 1073366 1
chr12   1101487 1101516 0
chr12   1101625 1101671 1'''

major, minor = ([l.split() for l in d.splitlines()] for d in (major, minor))

for name_major, sign, low, high, note in major:
    parts = list(range(int(low), int(high) + 1, (int(high) - int(low)) // 100))
    for part, (low, high) in enumerate(zip(parts, parts[1:]), 1):
        count = sum(1 for name_minor, n1, n2, _ in minor if name_major == name_minor and all(low <= int(n) <= high for n in (n1, n2)))
        print('\t'.join((name_major, sign, str(low), str(high), note, '%s_part%d' % (note, part), str(count))))

这将输出:

chr1    +   1071396 1073396 LOC LOC_part1   2
chr1    +   1073396 1075396 LOC LOC_part2   0
chr1    +   1075396 1077396 LOC LOC_part3   0
chr1    +   1077396 1079396 LOC LOC_part4   0
chr1    +   1079396 1081396 LOC LOC_part5   0
chr1    +   1081396 1083396 LOC LOC_part6   0
chr1    +   1083396 1085396 LOC LOC_part7   0
chr1    +   1085396 1087396 LOC LOC_part8   0
chr1    +   1087396 1089396 LOC LOC_part9   0
chr1    +   1089396 1091396 LOC LOC_part10  0
chr1    +   1091396 1093396 LOC LOC_part11  0
chr1    +   1093396 1095396 LOC LOC_part12  0
chr1    +   1095396 1097396 LOC LOC_part13  0
chr1    +   1097396 1099396 LOC LOC_part14  0
chr1    +   1099396 1101396 LOC LOC_part15  0
chr1    +   1101396 1103396 LOC LOC_part16  0
chr1    +   1103396 1105396 LOC LOC_part17  0
chr1    +   1105396 1107396 LOC LOC_part18  0
chr1    +   1107396 1109396 LOC LOC_part19  0
chr1    +   1109396 1111396 LOC LOC_part20  0
chr1    +   1111396 1113396 LOC LOC_part21  0
chr1    +   1113396 1115396 LOC LOC_part22  0
chr1    +   1115396 1117396 LOC LOC_part23  0
chr1    +   1117396 1119396 LOC LOC_part24  0
chr1    +   1119396 1121396 LOC LOC_part25  0
chr1    +   1121396 1123396 LOC LOC_part26  0
chr1    +   1123396 1125396 LOC LOC_part27  0
chr1    +   1125396 1127396 LOC LOC_part28  0
chr1    +   1127396 1129396 LOC LOC_part29  0
chr1    +   1129396 1131396 LOC LOC_part30  0
chr1    +   1131396 1133396 LOC LOC_part31  0
chr1    +   1133396 1135396 LOC LOC_part32  0
chr1    +   1135396 1137396 LOC LOC_part33  0
chr1    +   1137396 1139396 LOC LOC_part34  0
chr1    +   1139396 1141396 LOC LOC_part35  0
chr1    +   1141396 1143396 LOC LOC_part36  0
chr1    +   1143396 1145396 LOC LOC_part37  0
chr1    +   1145396 1147396 LOC LOC_part38  0
chr1    +   1147396 1149396 LOC LOC_part39  0
chr1    +   1149396 1151396 LOC LOC_part40  0
chr1    +   1151396 1153396 LOC LOC_part41  0
chr1    +   1153396 1155396 LOC LOC_part42  0
chr1    +   1155396 1157396 LOC LOC_part43  0
chr1    +   1157396 1159396 LOC LOC_part44  0
chr1    +   1159396 1161396 LOC LOC_part45  0
chr1    +   1161396 1163396 LOC LOC_part46  0
chr1    +   1163396 1165396 LOC LOC_part47  0
chr1    +   1165396 1167396 LOC LOC_part48  0
chr1    +   1167396 1169396 LOC LOC_part49  0
chr1    +   1169396 1171396 LOC LOC_part50  0
chr1    +   1171396 1173396 LOC LOC_part51  0
chr1    +   1173396 1175396 LOC LOC_part52  0
chr1    +   1175396 1177396 LOC LOC_part53  0
chr1    +   1177396 1179396 LOC LOC_part54  0
chr1    +   1179396 1181396 LOC LOC_part55  0
chr1    +   1181396 1183396 LOC LOC_part56  0
chr1    +   1183396 1185396 LOC LOC_part57  0
chr1    +   1185396 1187396 LOC LOC_part58  0
chr1    +   1187396 1189396 LOC LOC_part59  0
chr1    +   1189396 1191396 LOC LOC_part60  0
chr1    +   1191396 1193396 LOC LOC_part61  0
chr1    +   1193396 1195396 LOC LOC_part62  0
chr1    +   1195396 1197396 LOC LOC_part63  0
chr1    +   1197396 1199396 LOC LOC_part64  0
chr1    +   1199396 1201396 LOC LOC_part65  0
chr1    +   1201396 1203396 LOC LOC_part66  0
chr1    +   1203396 1205396 LOC LOC_part67  0
chr1    +   1205396 1207396 LOC LOC_part68  0
chr1    +   1207396 1209396 LOC LOC_part69  0
chr1    +   1209396 1211396 LOC LOC_part70  0
chr1    +   1211396 1213396 LOC LOC_part71  0
chr1    +   1213396 1215396 LOC LOC_part72  0
chr1    +   1215396 1217396 LOC LOC_part73  0
chr1    +   1217396 1219396 LOC LOC_part74  0
chr1    +   1219396 1221396 LOC LOC_part75  0
chr1    +   1221396 1223396 LOC LOC_part76  0
chr1    +   1223396 1225396 LOC LOC_part77  0
chr1    +   1225396 1227396 LOC LOC_part78  0
chr1    +   1227396 1229396 LOC LOC_part79  0
chr1    +   1229396 1231396 LOC LOC_part80  0
chr1    +   1231396 1233396 LOC LOC_part81  0
chr1    +   1233396 1235396 LOC LOC_part82  0
chr1    +   1235396 1237396 LOC LOC_part83  0
chr1    +   1237396 1239396 LOC LOC_part84  0
chr1    +   1239396 1241396 LOC LOC_part85  0
chr1    +   1241396 1243396 LOC LOC_part86  0
chr1    +   1243396 1245396 LOC LOC_part87  0
chr1    +   1245396 1247396 LOC LOC_part88  0
chr1    +   1247396 1249396 LOC LOC_part89  0
chr1    +   1249396 1251396 LOC LOC_part90  0
chr1    +   1251396 1253396 LOC LOC_part91  0
chr1    +   1253396 1255396 LOC LOC_part92  0
chr1    +   1255396 1257396 LOC LOC_part93  0
chr1    +   1257396 1259396 LOC LOC_part94  0
chr1    +   1259396 1261396 LOC LOC_part95  0
chr1    +   1261396 1263396 LOC LOC_part96  0
chr1    +   1263396 1265396 LOC LOC_part97  0
chr1    +   1265396 1267396 LOC LOC_part98  0
chr1    +   1267396 1269396 LOC LOC_part99  0
chr1    +   1269396 1271396 LOC LOC_part100 0
chr12   +   1101483 1101683 MIR200B MIR200B_part1   2
chr12   +   1101683 1101883 MIR200B MIR200B_part2   0
chr12   +   1101883 1102083 MIR200B MIR200B_part3   0
chr12   +   1102083 1102283 MIR200B MIR200B_part4   0
chr12   +   1102283 1102483 MIR200B MIR200B_part5   0
chr12   +   1102483 1102683 MIR200B MIR200B_part6   0
chr12   +   1102683 1102883 MIR200B MIR200B_part7   0
chr12   +   1102883 1103083 MIR200B MIR200B_part8   0
chr12   +   1103083 1103283 MIR200B MIR200B_part9   0
chr12   +   1103283 1103483 MIR200B MIR200B_part10  0
chr12   +   1103483 1103683 MIR200B MIR200B_part11  0
chr12   +   1103683 1103883 MIR200B MIR200B_part12  0
chr12   +   1103883 1104083 MIR200B MIR200B_part13  0
chr12   +   1104083 1104283 MIR200B MIR200B_part14  0
chr12   +   1104283 1104483 MIR200B MIR200B_part15  0
chr12   +   1104483 1104683 MIR200B MIR200B_part16  0
chr12   +   1104683 1104883 MIR200B MIR200B_part17  0
chr12   +   1104883 1105083 MIR200B MIR200B_part18  0
chr12   +   1105083 1105283 MIR200B MIR200B_part19  0
chr12   +   1105283 1105483 MIR200B MIR200B_part20  0
chr12   +   1105483 1105683 MIR200B MIR200B_part21  0
chr12   +   1105683 1105883 MIR200B MIR200B_part22  0
chr12   +   1105883 1106083 MIR200B MIR200B_part23  0
chr12   +   1106083 1106283 MIR200B MIR200B_part24  0
chr12   +   1106283 1106483 MIR200B MIR200B_part25  0
chr12   +   1106483 1106683 MIR200B MIR200B_part26  0
chr12   +   1106683 1106883 MIR200B MIR200B_part27  0
chr12   +   1106883 1107083 MIR200B MIR200B_part28  0
chr12   +   1107083 1107283 MIR200B MIR200B_part29  0
chr12   +   1107283 1107483 MIR200B MIR200B_part30  0
chr12   +   1107483 1107683 MIR200B MIR200B_part31  0
chr12   +   1107683 1107883 MIR200B MIR200B_part32  0
chr12   +   1107883 1108083 MIR200B MIR200B_part33  0
chr12   +   1108083 1108283 MIR200B MIR200B_part34  0
chr12   +   1108283 1108483 MIR200B MIR200B_part35  0
chr12   +   1108483 1108683 MIR200B MIR200B_part36  0
chr12   +   1108683 1108883 MIR200B MIR200B_part37  0
chr12   +   1108883 1109083 MIR200B MIR200B_part38  0
chr12   +   1109083 1109283 MIR200B MIR200B_part39  0
chr12   +   1109283 1109483 MIR200B MIR200B_part40  0
chr12   +   1109483 1109683 MIR200B MIR200B_part41  0
chr12   +   1109683 1109883 MIR200B MIR200B_part42  0
chr12   +   1109883 1110083 MIR200B MIR200B_part43  0
chr12   +   1110083 1110283 MIR200B MIR200B_part44  0
chr12   +   1110283 1110483 MIR200B MIR200B_part45  0
chr12   +   1110483 1110683 MIR200B MIR200B_part46  0
chr12   +   1110683 1110883 MIR200B MIR200B_part47  0
chr12   +   1110883 1111083 MIR200B MIR200B_part48  0
chr12   +   1111083 1111283 MIR200B MIR200B_part49  0
chr12   +   1111283 1111483 MIR200B MIR200B_part50  0
chr12   +   1111483 1111683 MIR200B MIR200B_part51  0
chr12   +   1111683 1111883 MIR200B MIR200B_part52  0
chr12   +   1111883 1112083 MIR200B MIR200B_part53  0
chr12   +   1112083 1112283 MIR200B MIR200B_part54  0
chr12   +   1112283 1112483 MIR200B MIR200B_part55  0
chr12   +   1112483 1112683 MIR200B MIR200B_part56  0
chr12   +   1112683 1112883 MIR200B MIR200B_part57  0
chr12   +   1112883 1113083 MIR200B MIR200B_part58  0
chr12   +   1113083 1113283 MIR200B MIR200B_part59  0
chr12   +   1113283 1113483 MIR200B MIR200B_part60  0
chr12   +   1113483 1113683 MIR200B MIR200B_part61  0
chr12   +   1113683 1113883 MIR200B MIR200B_part62  0
chr12   +   1113883 1114083 MIR200B MIR200B_part63  0
chr12   +   1114083 1114283 MIR200B MIR200B_part64  0
chr12   +   1114283 1114483 MIR200B MIR200B_part65  0
chr12   +   1114483 1114683 MIR200B MIR200B_part66  0
chr12   +   1114683 1114883 MIR200B MIR200B_part67  0
chr12   +   1114883 1115083 MIR200B MIR200B_part68  0
chr12   +   1115083 1115283 MIR200B MIR200B_part69  0
chr12   +   1115283 1115483 MIR200B MIR200B_part70  0
chr12   +   1115483 1115683 MIR200B MIR200B_part71  0
chr12   +   1115683 1115883 MIR200B MIR200B_part72  0
chr12   +   1115883 1116083 MIR200B MIR200B_part73  0
chr12   +   1116083 1116283 MIR200B MIR200B_part74  0
chr12   +   1116283 1116483 MIR200B MIR200B_part75  0
chr12   +   1116483 1116683 MIR200B MIR200B_part76  0
chr12   +   1116683 1116883 MIR200B MIR200B_part77  0
chr12   +   1116883 1117083 MIR200B MIR200B_part78  0
chr12   +   1117083 1117283 MIR200B MIR200B_part79  0
chr12   +   1117283 1117483 MIR200B MIR200B_part80  0
chr12   +   1117483 1117683 MIR200B MIR200B_part81  0
chr12   +   1117683 1117883 MIR200B MIR200B_part82  0
chr12   +   1117883 1118083 MIR200B MIR200B_part83  0
chr12   +   1118083 1118283 MIR200B MIR200B_part84  0
chr12   +   1118283 1118483 MIR200B MIR200B_part85  0
chr12   +   1118483 1118683 MIR200B MIR200B_part86  0
chr12   +   1118683 1118883 MIR200B MIR200B_part87  0
chr12   +   1118883 1119083 MIR200B MIR200B_part88  0
chr12   +   1119083 1119283 MIR200B MIR200B_part89  0
chr12   +   1119283 1119483 MIR200B MIR200B_part90  0
chr12   +   1119483 1119683 MIR200B MIR200B_part91  0
chr12   +   1119683 1119883 MIR200B MIR200B_part92  0
chr12   +   1119883 1120083 MIR200B MIR200B_part93  0
chr12   +   1120083 1120283 MIR200B MIR200B_part94  0
chr12   +   1120283 1120483 MIR200B MIR200B_part95  0
chr12   +   1120483 1120683 MIR200B MIR200B_part96  0
chr12   +   1120683 1120883 MIR200B MIR200B_part97  0
chr12   +   1120883 1121083 MIR200B MIR200B_part98  0
chr12   +   1121083 1121283 MIR200B MIR200B_part99  0
chr12   +   1121283 1121483 MIR200B MIR200B_part100 0

注意,您的预期输出不正确,因为 chr1 1073566 1073366 1 你的 minor 文件不在同一范围内 major 部分。

Aurora Wang
Reply   •   2 楼
Aurora Wang    6 年前

您应该注意以下几点,它们可能有助于您修复代码:

  1. 检查变量名: 例如,在代码的开头,您将覆盖属于 major minor 空名单;
  2. 跟踪您的循环正在执行的操作:
    • 如果你说你想 new_major 带行数 “是主文件行数的100倍 “,您可能应该有一个内部循环,该循环在外部循环中为 major file (而不是重复 percent );
    • 您可能需要重新考虑生成 final 名单。如果你的目标是增加 小精灵 带行 “第七栏” 如果您的外部循环正在迭代 纽氏大 线。然后,您可以让内部循环负责计算次要文件中的行数。
  3. 尝试以增量方式实现/测试您的代码: 很明显,你的脑海中有你应该做的步骤(正如你能够描述的那样)。试着一步一步地执行和测试每个步骤。一 “有点复杂” 小问题总是可以解决的。
    • 利用python作为解释语言的优势,使测试逻辑/代码的小部分变得更容易和更快;
    • 例如,尝试生成 小精灵 之前正确归档 试着做剩下的。如果你这样做,你会注意到 new_major.append 例如,line没有使用列 一行的值。(你必须分线才能 这些价值观)。

  1. [附加]对解决方案的复杂性进行练习: 在这种情况下,复杂性对你来说可能不是问题,但是让你自己去思考这种事情总是很好的。想象一下你有很长的时间 少数的 专业 文件,在它们上重复多次可能会很昂贵。根据第一列的值,您可以做的一件小事是将小文件“分解”为多个部分(可能使用 dict )因此,如果你计算 少数的 符合a的条目 专业 row,您将只迭代具有与引用行相同的第一列值的条目。