将另一个python文件中的值替换为当前文件
我正在使用一个API(Yelp's)来运行基于“术语”和“位置”的搜索。我想替换我在第一个脚本中编写的另一个脚本中的位置列表。我已经能够弄清楚如何导入文件并使用将另一个python文件中的值替换为当前文件,python,Python,我正在使用一个API(Yelp's)来运行基于“术语”和“位置”的搜索。我想替换我在第一个脚本中编写的另一个脚本中的位置列表。我已经能够弄清楚如何导入文件并使用运行它们,如果_uname_u=='_umain_uu':但是,我意识到我并没有真正尝试在另一个文件中使用函数。。。我只是想换个位置。我该怎么做 这是我到目前为止所拥有的。这是python文件“A”中函数的代码片段: (这里有很多代码) 然后在我的另一个文件(B)中: 我卡住了!调用文件B中的sample.main()并不能将位置替换
运行它们,如果_uname_u=='_umain_uu':
但是,我意识到我并没有真正尝试在另一个文件中使用函数。。。我只是想换个位置。我该怎么做
这是我到目前为止所拥有的。这是python文件“A”中函数的代码片段:
(这里有很多代码)
然后在我的另一个文件(B)中:
我卡住了!调用文件B中的
sample.main()
并不能将位置替换为文件A中的“默认位置”(我知道有另一种方法可以将“位置”作为位置的add_参数的一部分,但我认为将它们替换为默认位置会更容易。)如何实现这一点?通常,您的main()
函数在解析命令行参数以执行实际作业后,会调用search(term,locaction)
。如果没有,则修改它以执行此操作。然后,在另一个脚本中,import yelp
并调用yelp.search()
函数(为了清楚起见,我已将sample
重命名为yelp
):
如果无法修改sample.py
文件,则可以设置sys.argv
以模拟所需的命令行:
import sys
import sample
sys.argv[1:] = ['-q', term, '-l', location]
sample.main()
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-q', '--term', dest='term', default=DEFAULT_TERM,
type=str, help='Search term (default: %(default)s)')
parser.add_argument('-l', '--location', dest='location',
default=DEFAULT_LOCATION, type=str,
help='Search location (default: %(default)s)')
if __name__ == '__main__':
main()
locations = ['SF', 'NY', 'etc']
import sample
sample.main()
import yelp
result = yelp.search(term, locations)
import sys
import sample
sys.argv[1:] = ['-q', term, '-l', location]
sample.main()