Python 如果文件a中包含文件b,则将文件b的记录打印出来输出到c文件里
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 如果文件a中包含文件b,则将文件b的记录打印出来输出到c文件里相关的知识,希望对你有一定的参考价值。
如果文件a中包含文件b,则将文件b的记录打印出来输出到c文件里
文件a:
10/05766798607,11/20050325191329,29/0.1,14/05766798607
10/05767158557,11/20050325191329,29/0.08,14/05767158557
文件b:
05766798607
05766798608
05766798609
通过文件a和文件b对比,导出这样的文件出来.
10/05766798607,11/20050325191329,29/0.1,14/05766798607
#!/usr/bin/env python
with open('a.txt') as f:
filea=f.readlines()
with open('b.txt') as f:
fileb=f.readlines()
print ''.join([ w for c in fileb for w in filea if c.strip() in w ])
文件a:
root@ubuntu:~/python/1211# more a.txt
10/05766798607,11/20050325191329,29/0.1,14/05766798607
10/05767158557,11/20050325191329,29/0.08,14/05767158557
文件b:
root@ubuntu:~/python/1211# more b.txt
05766798607
05766798608
05766798609
打印结果:
10/05766798607,11/20050325191329,29/0.1,14/05766798607 参考技术A
用list,dic,open就可以了
outKey =for entry in open("b.txt", "r"):
outKey[entry.strip()] = []
outHand = open("c.txt", "w")
for entry in open("a.txt", "r"):
for value in entry.strip().split(","):
(v1,v2) = value.split("/")
if v2 in outKey:
outHand.write(entry)
break;本回答被提问者采纳
基于固定相对路径在 zip 文件中包含目录结构
【中文标题】基于固定相对路径在 zip 文件中包含目录结构【英文标题】:Include a directory structure in a zip file based on a fixed relative path 【发布时间】:2016-12-09 13:35:56 【问题描述】:给定路径 a:\\b\\c\\d\\e
处的目录,我想在 python 3.5+ 中创建一个如下所示的 zipfile:
file.zip # want this
+d
+-...files from d\
+-e
+-...files from e\
我通过使用os
和zipfile
来尝试这样的目标路径:
start_path = "a:\\b\\c\\d"
for root, dirs, files in os.walk(start_path):
for file in files:
ziph.write(os.path.relpath(os.path.join(root, file)))
由于relpath
和工作目录位于b
,代码将创建一个zip 文件,如下所示:
file.zip # do not want this
+c
+-...files from c\
+-d
+-...files from d\
+-e
+-...files from e\
我的问题是:我如何强制 zipwriter 创建如开头所示的目录结构,从 dir d
开始,而我只在运行时知道完整路径。
【问题讨论】:
【参考方案1】:ZipFile.write
接受second parameter,这是您希望它位于zip
内的目录。所以你可以有类似的东西:
start_path = "a:\\b\\c\\d"
import os
zip_start_path = start_path.split(os.sep)[-1]
【讨论】:
谢谢!我似乎忽略了arcname
参数。我可以让路径分割分隔符 os 独立吗?
是的,你得到了os.sep
(docs.python.org/3/library/os.html#os.sep)的分隔符
谢谢,这对我有帮助!以上是关于Python 如果文件a中包含文件b,则将文件b的记录打印出来输出到c文件里的主要内容,如果未能解决你的问题,请参考以下文章
【java问题】在java语言中,在包p1中包含包p2,类A直接隶属于p1,类B直接隶属于包p2,