當前位置: 首頁>>代碼示例>>Python>>正文


Python Paths.base_dir方法代碼示例

本文整理匯總了Python中scripts.core.base.Paths.base_dir方法的典型用法代碼示例。如果您正苦於以下問題:Python Paths.base_dir方法的具體用法?Python Paths.base_dir怎麽用?Python Paths.base_dir使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在scripts.core.base.Paths的用法示例。


在下文中一共展示了Paths.base_dir方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: do_work

# 需要導入模塊: from scripts.core.base import Paths [as 別名]
# 或者: from scripts.core.base.Paths import base_dir [as 別名]
def do_work(parser, args=None, debug=False):
    """
    :type args: list
    :type parser: utils.argparser.ArgParser
    """

    # parse arguments
    global arg_options, arg_others, arg_rest, debug_mode
    arg_options, arg_others, arg_rest = parser.parse(args)
    debug_mode = debug

    # configure path
    Paths.format = PathFormat.ABSOLUTE
    Paths.base_dir('' if not arg_options.root else arg_options.root)

    # check commands
    if len(arg_rest) == 0:
        parser.exit_usage('no MPI executable provided', exit_code=1)

    if len(arg_rest) == 1:
        parser.exit_usage('no executable provided', exit_code=2)

    # turn on dynamic messages if batch is not set
    Printer.dynamic_output = not arg_options.batch

    # # run local or pbs mode
    if arg_options.queue:
        return run_pbs_mode(debug)
    else:
        return run_local_mode(debug)
開發者ID:andrew-c-esp,項目名稱:Flow123d-python-utils,代碼行數:32,代碼來源:exec_parallel_module.py

示例2: do_work

# 需要導入模塊: from scripts.core.base import Paths [as 別名]
# 或者: from scripts.core.base.Paths import base_dir [as 別名]
def do_work(parser, args=None, debug=False):
    """
    :type parser: utils.argparser.ArgParser
    """

    # parse arguments
    global arg_options, arg_others, arg_rest
    arg_options, arg_others, arg_rest = parser.parse(args)
    Paths.format = PathFormat.ABSOLUTE
    Paths.base_dir('' if not arg_options.root else arg_options.root)

    # configure printer
    Printer.batch_output = arg_options.batch
    Printer.dynamic_output = not arg_options.batch

    # we need flow123d, mpiexec and ndiff to exists in LOCAL mode
    if not arg_options.queue and not Paths.test_paths('flow123d', 'mpiexec', 'ndiff'):
        Printer.err('Missing obligatory files! Exiting')
        GlobalResult.error = "missing obligatory files"
        sys.exit(1)

    # test yaml args
    if not arg_others:
        parser.exit_usage('Error: No yaml files or folder given')
        GlobalResult.error = "no yaml files or folder given"
        sys.exit(2)

    all_yamls = list()
    for path in arg_others:
        if not Paths.exists(path):
            Printer.err('Error! given path does not exists, ignoring path "{}"', path)
            GlobalResult.error = "path does not exist"
            sys.exit(3)

        if Paths.is_dir(path):
            all_yamls.extend(Paths.walk(path, filters=[
                PathFilters.filter_type_is_file(),
                PathFilters.filter_ext('.yaml'),
                PathFilters.filter_not(PathFilters.filter_name('config.yaml'))
            ]))
        else:
            all_yamls.append(path)

    Printer.out("Found {} .yaml file/s", len(all_yamls))
    if not all_yamls:
        Printer.wrn('Warning! No yaml files found in locations: \n  {}', '\n  '.join(arg_others))
        GlobalResult.error = "no yaml files or folders given"
        sys.exit(3)

    configs = read_configs(all_yamls)
    configs.update(
        proc=arg_options.cpu,
        time_limit=arg_options.time_limit,
        memory_limit=arg_options.memory_limit,
    )

    if arg_options.queue:
        Printer.out('Running in PBS mode')
        return run_pbs_mode(configs, debug)
    else:
        Printer.out('Running in LOCAL mode')
        return run_local_mode(configs, debug)
開發者ID:andrew-c-esp,項目名稱:Flow123d-python-utils,代碼行數:64,代碼來源:runtest_module.py

示例3: check_modules

# 需要導入模塊: from scripts.core.base import Paths [as 別名]
# 或者: from scripts.core.base.Paths import base_dir [as 別名]
parser.add('-m', '--limit-memory', type=float, name='memory_limit', placeholder='<memory>', docs=[
    'Optional memory limit per node in MB',
    'For precision use float value'
])
parser.add('', '--root', hidden=True, type=str, name='root', placeholder='<ROOT>', docs=[
    'Path to base dir of flow123d'
])
parser.add('', '--json', hidden=True, type=str, name='json', placeholder='<JSON>', docs=[
    'Output result to json file'
])
# ----------------------------------------------

if __name__ == '__main__':
    from utils.globals import check_modules

    required = ('psutil', 'yaml', 'shutil', 'importlib', 'platform')
    if not check_modules(*required):
        sys.exit(1)

    from scripts.core.execution import BinExecutor
    from scripts.runtest_module import do_work
    #
    # # for debug only set dir to where script should be
    Paths.base_dir(__file__)

    # run work
    BinExecutor.register_sigint()
    do_work(parser)
    if parser.simple_options.json:
        GlobalResult.to_json(parser.simple_options.json)
開發者ID:andrew-c-esp,項目名稱:Flow123d-python-utils,代碼行數:32,代碼來源:runtest.py


注:本文中的scripts.core.base.Paths.base_dir方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。