如果“__name__”==“__main__”,如何从内部将 Sys.argv[n] 传递给函数
How to pass Sys.argv[n] to a function from inside if "__name__" == "__main__"
大家好,我正在尝试编写一个代码来抓取网站并从网站获取链接。
现在我正在尝试实现用户将给脚本一个 link_list.txt
脚本将迭代的
但是,我的 Sys.argv[]
没有成功
下面是部分代码:
def link_list_maker(self, link_list_path):
self.link_list_path = link_list_path
with open(link_list_path, 'r') as list:
line = list.readline()
print(line) # expecting a line read
if __name__ == "__main__":
CrawlerClass.link_list_maker(sys.argv[1])
crawler = CrawlerClass("http://quotes.toscrape.com/") # TODO: Make a sysargv to work wth link list from user
crawler.start()
如您所见,我试图给 CrawlerClass.link_list_maker()
函数一个 sys.argv,但我得到的只是:TypeError: link_list_maker() missing 1 required positional argument: 'link_list_path'
i 运行 脚本具有:python3 <script_name> <sys.argv[1]>
如何将 argv[1] 正确传递给函数?
你的意思是:
if __name__ == "__main__":
crawler = CrawlerClass("http://quotes.toscrape.com/") # TODO: Make a sysargv to work wth link list from user
crawler.link_list_maker(sys.argv[1])
crawler.start()
大家好,我正在尝试编写一个代码来抓取网站并从网站获取链接。
现在我正在尝试实现用户将给脚本一个 link_list.txt
脚本将迭代的
但是,我的 Sys.argv[]
没有成功下面是部分代码:
def link_list_maker(self, link_list_path):
self.link_list_path = link_list_path
with open(link_list_path, 'r') as list:
line = list.readline()
print(line) # expecting a line read
if __name__ == "__main__":
CrawlerClass.link_list_maker(sys.argv[1])
crawler = CrawlerClass("http://quotes.toscrape.com/") # TODO: Make a sysargv to work wth link list from user
crawler.start()
如您所见,我试图给 CrawlerClass.link_list_maker()
函数一个 sys.argv,但我得到的只是:TypeError: link_list_maker() missing 1 required positional argument: 'link_list_path'
i 运行 脚本具有:python3 <script_name> <sys.argv[1]>
如何将 argv[1] 正确传递给函数?
你的意思是:
if __name__ == "__main__":
crawler = CrawlerClass("http://quotes.toscrape.com/") # TODO: Make a sysargv to work wth link list from user
crawler.link_list_maker(sys.argv[1])
crawler.start()