【发布时间】:2019-12-01 21:10:00
【问题描述】:
我正在尝试构建一个关键字工具。为此,我构建了一个 python 脚本,当你运行它时,它会输出一个包含关键字、排名、URL 和日期的 CSV 文件。
我想运行多个关键字,并且想将输出保存在不同的文件夹中。
我用我的 python 脚本创建了 5 个不同的文件夹,并创建了一个 bash 文件,它使用不同的关键字运行脚本并输出不同的 CSV 文件。
bash 文件如下所示:
#! /bin/bash
/usr/bin/python3 /kw1/rank.py [website] [keyword1]
sleep 30
/usr/bin/python3 /kw2/rank.py [website] [keyword2]
sleep 20
/usr/bin/python3 /kw3/rank.py [website] [keyword3]
sleep 30
/usr/bin/python3 /kw4/rank.py [website] [keyword4]
sleep 25
/usr/bin/python3 /kw5/rank.py [website] [keyword5]
我遇到的问题是,当我运行 bash 文件时,所有 CSV 输出都存储在 bash 文件所在的主文件夹中,而不是 python 脚本所在的特定文件夹中。
我尝试添加 >> 和 location/output.csv 或 .txt,但输出在 .txt 文件中,或者如果它在 CSV 中,则在一个列中。另外,这不是我的 python 输出,它只是运行 python 脚本时终端输出的内容。
将我的输出保存到 CSV 的 Python 代码如下所示
file = datetime.date.today().strftime("%d-%m-%Y")+'-' +keyword + '.csv'
with open(file, 'w+') as f:
writer = csv.writer(f)
writer.writerow(['Keyword' , 'Rank', 'URL' , 'Date'])
writer.writerows(zip( d[0::4], d[1::4] , d[2::4], d[3::4]))
我想在一个文件夹上运行我的 bash 文件,但我想在 python 脚本所在的特定文件夹中获取我的脚本输出。
谢谢。
【问题讨论】:
-
所以,你只是给 python 代码一个文件名。只需给它一个完整路径+文件名吗?
-
但是如果我在脚本中运行 3 个不同的参数,比如说 kw1、kw2、kw3,它们都将保存在我添加到脚本中的完整路径中。我想在特定文件夹中分隔每个 kw
-
哦。等等我明白你的意思....
-
好奇你为什么在 python 调用之间睡觉。
-
因为我正在检查 Google 排名。如果我在一秒钟内运行 10 个关键字,谷歌将阻止我的 IP,这将不起作用。
标签: python linux python-3.x bash csv