小用Python

来源:互联网 发布:解码矩阵 编辑:程序博客网 时间:2024/06/06 00:24

vs2015里C++要配置Boost库,但是最后那个链接器里的输出要写所有的lib文件,一看lib文件的数量,就感觉到了一种厌烦,太麻烦了......这样一个个的复制名字再粘贴上去实在是太麻烦了,如果能够把所有的文件名写到记事本里面去的话再直接一把复制粘贴岂不妙哉?

突然想到Python作为一种功能强大的脚本语言,应该能够写个小脚本来代替人工的复杂的工作吧?

说干就干,马上上网查找资料,最后终于在  http://blog.csdn.net/lsq2902101015/article/details/51305825  上面找到了方法,使用os模块的walk方法,这个方法能够返回一个元组,其中有三个参数,分别是:路径,路径下子目录路径和文件名(不带路径的),根据这个返回来的东西再去获取最后文件名列表的元素,然后一个个的输进文件之中就大功告成啦!

代码如下:

import osfile = open("name.txt",mode = "w")file_gd = open("1.txt",mode = "w")for dirpath,childdirs,filenames in os.walk("D:/Development/boost_1_65_1/stage/lib"):for filename in filenames:if "gd" in filename:file_gd.write(filename)file_gd.write("\n")else:file.write(filename)file.write("\n")file.close()file_gd.close()


首先建立了本目录下的两个文件,一个叫做name.txt,一个叫做1.txt,前一个主要是用来保存不带“gd”字符的lib文件,就是release的版本,至于后一个就专门来保存带“gd”字样的名字,最后很快就搞定了。


name.txt文件内容:
libboost_atomic-vc140-mt-1_65_1.lib
libboost_chrono-vc140-mt-1_65_1.lib
libboost_container-vc140-mt-1_65_1.lib
libboost_context-vc140-mt-1_65_1.lib
libboost_coroutine-vc140-mt-1_65_1.lib
libboost_date_time-vc140-mt-1_65_1.lib
libboost_exception-vc140-mt-1_65_1.lib
libboost_fiber-vc140-mt-1_65_1.lib
libboost_filesystem-vc140-mt-1_65_1.lib
libboost_graph-vc140-mt-1_65_1.lib
libboost_iostreams-vc140-mt-1_65_1.lib
libboost_locale-vc140-mt-1_65_1.lib
libboost_log-vc140-mt-1_65_1.lib
libboost_log_setup-vc140-mt-1_65_1.lib
libboost_math_c99-vc140-mt-1_65_1.lib
libboost_math_c99f-vc140-mt-1_65_1.lib
libboost_math_c99l-vc140-mt-1_65_1.lib
libboost_math_tr1-vc140-mt-1_65_1.lib
libboost_math_tr1f-vc140-mt-1_65_1.lib
libboost_math_tr1l-vc140-mt-1_65_1.lib
libboost_numpy3-vc140-mt-1_65_1.lib
libboost_prg_exec_monitor-vc140-mt-1_65_1.lib
libboost_program_options-vc140-mt-1_65_1.lib
libboost_python3-vc140-mt-1_65_1.lib
libboost_random-vc140-mt-1_65_1.lib
libboost_regex-vc140-mt-1_65_1.lib
libboost_serialization-vc140-mt-1_65_1.lib
libboost_signals-vc140-mt-1_65_1.lib
libboost_stacktrace_noop-vc140-mt-1_65_1.lib
libboost_stacktrace_windbg-vc140-mt-1_65_1.lib
libboost_stacktrace_windbg_cached-vc140-mt-1_65_1.lib
libboost_system-vc140-mt-1_65_1.lib
libboost_test_exec_monitor-vc140-mt-1_65_1.lib
libboost_thread-vc140-mt-1_65_1.lib
libboost_timer-vc140-mt-1_65_1.lib
libboost_type_erasure-vc140-mt-1_65_1.lib
libboost_unit_test_framework-vc140-mt-1_65_1.lib
libboost_wave-vc140-mt-1_65_1.lib
libboost_wserialization-vc140-mt-1_65_1.lib

1.txt文件的内容:
libboost_atomic-vc140-mt-gd-1_65_1.lib
libboost_chrono-vc140-mt-gd-1_65_1.lib
libboost_container-vc140-mt-gd-1_65_1.lib
libboost_context-vc140-mt-gd-1_65_1.lib
libboost_coroutine-vc140-mt-gd-1_65_1.lib
libboost_date_time-vc140-mt-gd-1_65_1.lib
libboost_exception-vc140-mt-gd-1_65_1.lib
libboost_fiber-vc140-mt-gd-1_65_1.lib
libboost_filesystem-vc140-mt-gd-1_65_1.lib
libboost_graph-vc140-mt-gd-1_65_1.lib
libboost_iostreams-vc140-mt-gd-1_65_1.lib
libboost_locale-vc140-mt-gd-1_65_1.lib
libboost_log-vc140-mt-gd-1_65_1.lib
libboost_log_setup-vc140-mt-gd-1_65_1.lib
libboost_math_c99-vc140-mt-gd-1_65_1.lib
libboost_math_c99f-vc140-mt-gd-1_65_1.lib
libboost_math_c99l-vc140-mt-gd-1_65_1.lib
libboost_math_tr1-vc140-mt-gd-1_65_1.lib
libboost_math_tr1f-vc140-mt-gd-1_65_1.lib
libboost_math_tr1l-vc140-mt-gd-1_65_1.lib
libboost_numpy3-vc140-mt-gd-1_65_1.lib
libboost_prg_exec_monitor-vc140-mt-gd-1_65_1.lib
libboost_program_options-vc140-mt-gd-1_65_1.lib
libboost_python3-vc140-mt-gd-1_65_1.lib
libboost_random-vc140-mt-gd-1_65_1.lib
libboost_regex-vc140-mt-gd-1_65_1.lib
libboost_serialization-vc140-mt-gd-1_65_1.lib
libboost_signals-vc140-mt-gd-1_65_1.lib
libboost_stacktrace_noop-vc140-mt-gd-1_65_1.lib
libboost_stacktrace_windbg-vc140-mt-gd-1_65_1.lib
libboost_stacktrace_windbg_cached-vc140-mt-gd-1_65_1.lib
libboost_system-vc140-mt-gd-1_65_1.lib
libboost_test_exec_monitor-vc140-mt-gd-1_65_1.lib
libboost_thread-vc140-mt-gd-1_65_1.lib
libboost_timer-vc140-mt-gd-1_65_1.lib
libboost_type_erasure-vc140-mt-gd-1_65_1.lib
libboost_unit_test_framework-vc140-mt-gd-1_65_1.lib
libboost_wave-vc140-mt-gd-1_65_1.lib
libboost_wserialization-vc140-mt-gd-1_65_1.lib


一复制,一粘贴,别提多爽啦,如果让我一个个的重命名+Ctrl A+Ctrl C+Ctrl V,只怕最后要累死在第一线了......

原创粉丝点击