python
1print(hogelib) 2["['hogehoge.lib']"]
と出力されてしまうものを
python
1print(hogelib) 2['hogehoge.lib']
としたいと考えています。
実際のコードとしては、
python
1 for name in lib_names: # <type 'list'>: [['QVTKWidgetPlugind.lib'], ['vtkalglib-7.1d.lib'],…, 2 debug_libs = [] 3 release_libs = [] 4 if str(name).rfind("d.lib") == -1: # match release files 5 release_libs = name 6 debug_libs.append(str(name).replace(".lib", "d.lib")) 7 else: # match debug files 8 debug_libs = name 9 release_libs.append(str(name).replace("d.lib", ".lib")) 10 11 char_name_debug = ','.join(debug_libs) 12 pragma_char_debug += "#pragma comment(lib, '" + char_name_debug + "')\n" 13 char_name_release = ','.join(release_libs) 14 pragma_char_release += "#pragma comment(lib, '" + char_name_release + "')\n"
理想としては、char_name_releaseがQVTKWidgetPlugind.libとなってほしいのですが、現状は['QVTKWidgetPlugin.lib']となってしまいます。
append()のところで<type 'list'>: ["['QVTKWidgetPlugin.lib']"]となってしまうのが原因だと思うのですが、なにかいい方法ありませんか?
かなり無駄の多いコードで見づらいかと思いますが、よろしくお願いします。
仕様が不明瞭です。
lib_names内のリストには要素は1つのみということが保証されているのでしょうか?
それとも複数の要素を取り得るのでしょうか?
for文が回る度にrelease_libsとdebud_libsが初期化されていますが、正しい挙動なのでしょうか。
name要素内文字列の末尾が'd.lib'であればdebug_libsに追加、そうでなければrelease_libsに追加をするという処理がしたいということですか?