我正在使用有人编写的来自GitHub的脚本,该脚本是为命令行设计的。所有示例均显示如下内容:
thisscript.py -u 'teepee' -p pword999 -d 8
我想在另一个函数中运行它,在这里我可以像这样使用它:
thisscript(username='teepee', password='pword999',...)
主文件包括许多class定义和此主函数(如下)。包装此函数以便可以将其称为自己的函数的正确方法是什么?
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='...', add_help=False, usage='thisscript.py -u username -p password [options]')
parser.add_argument('-u', metavar='', type=str, help='username')
parser.add_argument('-p', metavar='', type=str, help='password')
parser.add_argument('-a', metavar='', type=int, default=4, help='Number ascending [4]')
parser.add_argument('-d', metavar='', type=int, default=0, help='Number descending [0]')
我尝试做import thisscript,但这似乎不起作用。
参考方案
我认为最简单的解决方案是使用subprocess模块以在外壳中按设计方式调用脚本。
import subprocess
def transcript(
username,
password,
descending_num=0,
ascending_num=4,
):
command = f'transcript.py -u {username} -p {password} -d {descending_num} -a {ascending_num}'
subprocess.call(command, shell=True)
赋予function关键字参数以反映脚本的默认参数是可选的,但使用法更清晰。
R'relaimpo'软件包的Python端口 - python
我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。如何用'-'解析字符串到节点js本地脚本? - python
我正在使用本地节点js脚本来处理字符串。我陷入了将'-'字符串解析为本地节点js脚本的问题。render.js:#! /usr/bin/env -S node -r esm let argv = require('yargs') .usage('$0 [string]') .argv; console.log(argv…Python:传递记录器是个好主意吗? - python
我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…Python-Excel导出 - python
我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…Matplotlib'粗体'字体 - python
跟随this example:import numpy as np import matplotlib.pyplot as plt fig = plt.figure() for i, label in enumerate(('A', 'B', 'C', 'D')): ax = f…