小用Python

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

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

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

代码如下:

import os

file = 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,只怕最后要累死在第一线了......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值