【发布时间】:2016-09-22 20:31:29
【问题描述】:
我是 python 新手。我正在编写一个 python 脚本来查找 2 html file1: beta.vidup.me-log-2016-09-21-17:43:28.html 和 file2: beta.vidup.me-log-2016-09 之间的差异-21-17:47:48.html.
介绍一下我的文件组织:我有 2 个目录 2016-09-21 和 2016-09-22。 file1:beta.vidup.me-log-2016-09-21-17:43:28.html 存在于 dir1 和 file2:beta.vidup.me-log-2016-09-21-17:47:48。 html 存在于 dir2 中。
下面是我的sn-p:
dir1 = raw_input("Enter date of Archive folder to compare with in format yyyy-mm-dd---->\n")
dir2 = raw_input("Enter date of folder to compare in format yyyy-mm-dd----->\n")
now = datetime.now()
folder_output = '/home/diff_output/{}'.format(now.strftime('%Y-%m-%d'))
mkdir(folder_output)
fname1 = '/home/output/%s/beta.vidup.me-log-2016-09-21-17:43:28.html'%dir1
fname2 = '/home/output/%s/beta.vidup.me-log-2016-09-21-17:47:48.html'%dir2
# Open file for reading in text mode (default mode)
f1 = open(fname1)
f2 = open(fname2)
cmd = "diff "+fname1+'\t'+fname2
curl = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
file_data = curl.stdout.read()
print file_data
fname1.close()
fname2.close()
我希望只使用 subprocess 模块来执行 diff。
我希望我的代码从 dir1 获取 fname1 并从 dir2 获取 fname2 并执行差异并将其输出到一个文件夹并循环返回以在 dir1 中为 fname1 选择下一个文件,从 dir2 中为 fname2 选择下一个文件并再次执行差异.
提前感谢您的时间和建议。
【问题讨论】:
-
您有问题吗?见How to Ask。
-
我很抱歉。我编辑了我的问题
-
您不需要打开这些文件。此外,它应该是
f1.close(),而不是fname1.close()。
标签: python subprocess diff