我目前正在尝试从10个网址的.txt文件中提取原始数据,并将每行(URL)中的原始数据放入.txt文件中。然后使用Python重复处理数据(来自同一个原始.txt文件的原始数据,除去html)。
import commands
import os
import json
# RAW DATA
input = open('uri.txt', 'r')
t_1 = open('command', 'w')
counter_1 = 0
for line in input:
counter_1 += 1
if counter_1 < 11:
filename = str(counter_1)
print str(line)
filename= str(count)
command ='curl ' + '"' + str(line).rstrip('\n') + '"'+ '> ./rawData/' + filename
output_1 = commands.getoutput(command)
input.close()
# PROCESSED DATA
counter_2 = 0
input = open('uri.txt','r')
t_2 = open('command','w')
for line in input:
counter_2 += 1
if counter_2 <11:
filename = str(counter_2) + '-processed'
command = 'lynx -dump -force_html ' + '"'+ str(line).rstrip('\n') + '"'+'> ./processedData/' + filename
print command
output_2 = commands.getoutput(command)
input.close()
我试图用一个脚本完成所有这些操作。任何人都可以帮我改进我的代码,以便我可以运行它吗?对于.txt文件中的每一行,它应该完全遍历代码一次。例如,我应该有1个原始&amp;我的.txt文件中每个网址行都有1个已处理的.txt文件。
答案 0 :(得分:0)
将代码分解为函数。目前,代码很难阅读和调试。创建一个名为get_raw()
的函数和一个名为get_processed()
的函数。那么对于你的主循环,你可以做
for line in file:
get_raw(line)
get_processed(line)
或类似的东西。你也应该避免使用魔法数字&#39;比如counter<11
。为什么是11?它是文件中的行数吗?如果是,您可以使用len()
获得行数。