0

对不起,如果标题令人困惑。我想要做的是读取一个文本文件(keywords.txt),然后拆分成一个列表。所以基本上可以说文件包含“iphone,钥匙,钱包,笔,文件夹”,我希望列表是[iphone,钥匙,钱包,笔,文件夹]。

有没有办法为每个元素设置一个变量。假设变量是查询。无论如何都要查询每个元素,以便它可以通过程序并为每个元素工作。下面是我的代码,它显然不起作用,但如果可能的话,这就是我想要发生的事情。

我想为每个元素都这样做的原因是因为最终脚本将为每个元素编写一个新的文本文件,并根据元素是什么命名它,我知道如何做到这一点的唯一方法是拥有一个变量。

data = [line.strip() for line in open('keywords.txt', 'r')]

try:
    query = sys.argv[1]
except IndexError:
    query = item in data 

这是我将要执行的其余代码。它将采用创建的列表中的内容并创建一个新的文本文件和一个 csv 文件。

newFile = open("%s.txt" %query, 'w').write(txt.encode('utf8'))

with open("%s.txt" %query, 'rb') as input_file:
    reader = csv.reader(input_file, delimiter='\n', quoting = csv.QUOTE_NONE)

    with open("%s.csv" %query, 'wb') as output_file:
        writer = csv.writer(output_file)

        for row in reader:
            writer.writerow(row)
4

2 回答 2

2

query从命令行获取的值转换为列表,然后遍历查询列表:

try:
    query = [sys.argv[1]]
except IndexError:
    query = data

for q in query:
    # do something with q
于 2012-12-11T13:38:51.953 回答
0
def process_keywords_in_file(file_name):  
    with open(file_name) as f:
        for line in f:
            process(line.strip())

def process(keyword):
    #your code

如果你想用关键字的名字写一个新文件:

with open('%s.txt' % keyword, 'w') as fw:
    fw.write('content')
于 2012-12-11T13:39:54.700 回答