最近实验室给配了台新电脑,想把原电脑上的python第三方库迁移到新电脑上,但逐一使用pip安装又太麻烦。现在使用pip命令批量安装,省去逐一安装的麻烦。
在原电脑CMD使用pip list命令获得的package每行后面都带有版本号,如下
C:\Users\27641>pip list
Package Version
--------------------------- ---------
absl-py 0.2.2
altgraph 0.15
asn1crypto 0.24.0
astor 0.6.2
attrs 18.1.0
Automat 0.7.0
beautifulsoup4 4.6.0
bleach 1.5.0
bottle 0.12.13
certifi 2018.4.16
cffi 1.11.5
chardet 3.0.4
click 6.7
constantly 15.1.0
cryptography 2.3
cssselect 1.0.3
cycler 0.10.0
decorator 4.3.0
Django 2.0.7
docopt 0.6.2
docx 0.2.4
dukpy 0.2.0
Flask 1.0.2
future 0.16.0
gast 0.2.0
grpcio 1.12.1
h5py 2.8.0
html5lib 0.9999999
hyperlink 18.0.0
......
所以萌发了使用python处理掉这些不必要字符的念头,正好可以拿刚学的python练练手。
python代码如下:
file = open("pip list.txt", "r") # 以只读模式读取文件
lines = []
for i in file:
lines.append(i) # 逐行将文本存入列表lines中
file.close()
new = []
for line in lines: # 逐行遍历
p = 0 # 定义计数指针
for bit in line: # 对每行进行逐个字遍历
if bit == " ": # 遇到空格时进行处理
new.append(line[0:p]) # 将line中的0:p字段存入新列表new中,用于写入新的.txt中
break # 处理完一行后跳出当前循环
else:
p = p + 1 # 如果bit不是空格,指针加一
# 以写的方式打开文件,如果文件不存在,就会自动创建,如果存在就会覆盖原文件
file_write_obj = open("pip list new.txt", 'w')
for var in new:
file_write_obj.writelines(var)
file_write_obj.writelines('\n')
file_write_obj.close()
处理前: 处理后:
open()函数的打开方式:
w 以写方式打开,
a 以追加模式打开
r+ 以读写模式打开
w+ 以读写模式打开
a+ 以读写模式打开
批量安装第三方库的方法:
在命令提示和用cd来到文件的根目录下,使用命令如下命令:
pip install -r pip list new.txt --user