zip

python序列函数:enumerate,zip,reversed

帅比萌擦擦* 提交于 2020-03-03 14:52:39
enumerate:追踪索引 在遍历一个序列的时候,我们往往想追踪 该元素在序列中的索引 。使用enumerate可以做到这点。 该方法一般用来构建一个 字典 a = [ 'a' , 'b' , 'c' , 'd' , 'e' , 'a' , 'b' ] mapping = { } for index , value in enumerate ( a ) : mapping [ value ] = index print ( mapping ) # {'a': 5, 'b': 6, 'c': 2, 'd': 3, 'e': 4} 可以看到,如果序列中出现重复的元素,则该元素的索引为最后一个重复元素的索引(这是因为后来的索引把前一个的覆盖了) . zip:元素配对 zip可以将多个序列的元素 配对 , 新建一个 元组 构成的列表 a = [ 'I' , 'lo' , 'y' ] b = [ '' , 've' , 'ou' ] zipped = zip ( a , b ) print ( list ( zipped ) ) # [('I', ''), ('lo', 've'), ('y', 'ou')] 值得注意的是,zip方法生成的是一个zip对象,不能直接用print输出哈 另外,zip可以处理 任意长度 的序列,生成的列表长度由 最短 的序列决定: a = [ 'I' ,

How do i zip files in python without all directories written to it

泄露秘密 提交于 2020-03-03 08:40:10
问题 Im trying to zip multible files but i have run into a strange problem when i opened the zip file all directories leading to the files are listed as well home/site/Uploads/test/ Here is the python code i have written import os import zipfile zf = zipfile.ZipFile("myzipfile.zip", "w") for dirname, subdirs, files in os.walk("D:/home/site/Uploads/test/"): zf.write(dirname) for filename in files: zf.write(os.path.join(dirname, filename)) zf.close() The zipped files are fine but why is every other

【Linux学习记录 D:03】——使用Linux命令进行Excel表格的插入

二次信任 提交于 2020-03-03 01:42:55
文章目录 简介 准备 过程 将xlsx文件更改成zip文件,并解压至unziptable目录下 通过Excel表格中已有的学生姓名匹配出xuehao.txt文件中的学生学号,并插入至Excel表格中 将所有解压的内容压缩 将压缩的table2.zip 更改为xlsx文件 结果 简介 使用Linux命令:sed、grep、zip、unzip进行控制Excel表格进行插入操作的整理记录 准备 一份学生学号文件 一份关于学生的Excel文件 过程 将xlsx文件更改成zip文件,并解压至unziptable目录下 unzip 命令 -d<目录> 指定文件解压缩后所要存储的目录。 [root@dst excel2] # mv table.xlsx table.zip [root@dst excel2] # unzip table.zip -d unziptable 通过Excel表格中已有的学生姓名匹配出xuehao.txt文件中的学生学号,并插入至Excel表格中 Excel表格中学生所在的单元格 #1.查找学生姓名 grep Sheet1 . B . . . . . . . . . . . . . . . . . unziptable/ * - R - o | #2.进行清洗 sed 's/.*f><v>//g' | sed 's/<.*//g' | #3

Java学习79:操作Zip

一个人想着一个人 提交于 2020-03-02 07:19:49
ZipInputStream是一种FilterInputStream,它可以直接读取zip包的内容: 另一个JarInputStream是从ZipInputStream派生,它增加的主要功能是直接读取jar文件里面的MANIFEST.MF文件。因为本质上jar包就是zip包,只是额外附加了一些固定的描述文件。 读取zip包 我们来看看ZipInputStream的基本用法。 我们要创建一个ZipInputStream,通常是传入一个FileInputStream作为数据源,然后,循环调用getNextEntry(),直到返回null,表示zip流结束。 一个ZipEntry表示一个压缩文件或目录,如果是压缩文件,我们就用read()方法不断读取,直到返回-1: try ( ZipInputStream zip = new ZipInputStream ( new FileInputStream ( . . . ) ) ) { ZipEntry entry = null ; while ( ( entry = zip . getNextEntry ( ) ) != null ) { String name = entry . getName ( ) ; if ( ! entry . isDirectory ( ) ) { int n ; while ( ( n = zip .

maven 手动添加第三方的jar包

假装没事ソ 提交于 2020-03-01 03:57:40
使用maven搭建工程时,难免要加载大量的第三方的jar包、zip包比较少用,而maven的官网提供的jar往往不能满足需求,这时需要我们手动加载到我们本地或nexus私服的仓库中。 1.加载jar包到本地 (以加载saxon-dom-9.0.jar为例) 首先在工程的pom.xml文件中加入 Xml代码 < dependency > < groupId > net.sf.saxon </ groupId > < artifactId > saxon-dom </ artifactId > < version > 9.0 </ version > </ dependency > pom.xml配置完成后,再执行以下命令: mvn install:install-file -DgroupId=net.sf.saxon -DartifactId=saxon-dom -Dversion=9.0 -Dpackaging=jar -Dfile=/home/ubuntu/saxon-dom-9.0.jar 说明:-Dfile指第三方jar的路径,其它的注意要确保maven命令中groupId、artifactId、version与pom.xml中的配置相同,-Dpackaging表示加载的文件类型 2.加载zip包到本地(以加载asdoc-3.2.0.3958-template.zip为例)

mac 常用操作

…衆ロ難τιáo~ 提交于 2020-02-29 18:05:50
1. 解压 .tar.bz2文件格式 -- tar jxvf 文件名.tar.bz2, 可以用来解压 http://apps.hi.baidu.com/share/detail/37384818 download ADT link http://dl.google.com/android/ADT-0.9.6.zip download SDK link http://dl.google.com/ Android /android-sdk_r11-linux_x86.tgz(可以通过翻墙得到具体的文件名,再通过链接下载即可) tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个。下面的参数是根据需要在压缩或解压档案时可选的。 -z:有gzip属性的 -j:有bz2属性的 -Z:有compress属性的 -v:显示所有过程 -O:将文件解开到标准输出 下面的参数-f是必须的 -f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。 # tar -cf all.tar *.jpg 这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。 # tar -rf all.tar *.gif

压缩/解压 zip 时遇到 java.lang.IllegalArgumentException: MALFORMED

↘锁芯ラ 提交于 2020-02-29 03:16:33
因为zip文件名为中文,或者压缩内容有中文 解决方法: 错误详情: SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Exception in thread "main" java.lang.IllegalArgumentException: MALFORMED at java.util.zip.ZipCoder.toString(ZipCoder.java:58) at java.util.zip.ZipFile.getZipEntry(ZipFile.java:529) at java.util.zip.ZipFile.access$900(ZipFile.java:56) at java.util.zip.ZipFile$1.nextElement(ZipFile.java:511) at java.util.zip.ZipFile$1.nextElement(ZipFile.java:481) at org

zipfile模块——创建zip文件

流过昼夜 提交于 2020-02-28 23:58:26
import zipfile import os print(os.getcwd()) #C:\Users\del\PycharmProjects\untitled1\cs newZip = zipfile.ZipFile('C:\\Users\\del\\Desktop\\新建文件夹 (2)\\新建文件夹 (2).zip','w') newZip.write('C:\\Users\\del\\Desktop\\新建文件夹 (2)\\新建文件夹 (2)\\11.txt',compress_type=zipfile.ZIP_DEFLATED) newZip.close() 创建ZIP文件需要使用写模式,即将压缩包名称和写模式代号分别作为ZipFile方法的第一、第二个参数传入。示例代码如下: >>> import zipfile >>> newZip = zipfile.ZipFile(‘new.zip’, ‘w’) >>> newZip.write(‘spam.txt’, compress_type=zipfile.ZIP_DEFLATED) >>> newZip.close() 以上第二行代码新建了一个名为 new.zip 的压缩文件,并以写模式打开。 第三行中用 ZipFile 对象的 write() 方法添加文件到压缩包中, 该方法的第一个参数为需要添加进去的文件名,

python zip()函数

久未见 提交于 2020-02-28 05:12:07
一。作用 zip()函数用于将 可迭代的对象 作为参数,将对象中 对应的元素 打包成一个个元组,然后返回由这些元组组成的对象,能够节约内存。可以使用list()输出列表 二。实例 a=[1,2,3] b=[4,5,6] c=[4,5,6,7,8] d=list(zip(a,c)) print(d) 输出结果为: [(1, 4), (2, 5), (3, 6)] 从这个结果中看出,如果迭代器的元素个数不一致,则返回列表的长度与最短的对象的长度相同 a=[1,2,3] b=[4,5,6] c=[4,5,6,7,8] e,f=zip(*zip(a,c)) print(e) print(f) zip(*)是用来解压的,将元组解压为列表 输出结果为: (1, 2, 3) (4, 5, 6) 来源: CSDN 作者: cuicui_ruirui 链接: https://blog.csdn.net/cuicui_ruirui/article/details/104541148

Ruby: Download zip file and extract

谁说胖子不能爱 提交于 2020-02-27 23:30:14
问题 I have a ruby script that downloads a remote ZIP file from a server using rubys open command. When I look into the downloaded content, it shows something like this: PK\x03\x04\x14\x00\b\x00\b\x00\x9B\x84PG\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n\x00\x10\x00foobar.txtUX\f\x00\x86\v!V\x85\v!V\xF6\x01\x14\x00K\xCB\xCFOJ,RH\x03S\\\x00PK\a\b\xC1\xC0\x1F\xE8\f\x00\x00\x00\x0E\x00\x00\x00PK\x01\x02\x15\x03\x14\x00\b\x00\b\x00\x9B\x84PG\xC1\xC0\x1F\xE8\f\x00\x00\x00\x0E\x00\x00\x00\n\x00\f