如何从Python的cmd中获得.py文件参数

代码:

import sys  # 导入系统模块获得cmd的参数
import traceback
def TEST(params):
    print(type(params))

if __name__ == '__main__':
    try:
        params = None
        # 获得传入参数
        if len(sys.argv) > 1:
            params_str = ''
            for i in range(1, len(sys.argv)):
                params_str += sys.argv[i]
            if params_str.startswith('''{''') and params_str.endswith('''}'''):
                params = eval(params_str)
                print('''test方法接收参数为:''', params)
                TEST(params)
            else:
                print('''test参数格式不合法:''', params_str)
    except Exception as ex:
        print('''test - 执行异常''', ex)
        traceback.print_exc()

方式1: 借助Run/Debug Configuration 窗口输入参数

方法一的运行结果:

方法二: 借助Terminal 输入命令获取参数-----运行结果

补充:PyQt5 python运行cmd命令 传入参数 获取cmd结果 重定向 运行另一个python文件

写在前面

如果运行的cmd输出不多,可以考虑使用subprocess(也可以重定向)

我选择os.popen()的原因是我需要运行的py文件在cmd会输出很多内容,而且我需要对这些内容作处理,相比起使用subprocess,使用os.popen()会更快一些。

代码(不传入参数)

def useCmd(self):
 f = os.popen(r"python test.py", "r")#把文件放在与当前py文件所在的同级目录下才能用相对路径
 # 通过管道的方式来调用cmd,函数返回一个file对象,里面的内容是脚本输出的内容(可简单理解为echo输出的内容)
 # 读文件
 d = f.read()  #没有这一句可能会报错,如果没报错,当我没说。 → detection mode
 # print(d)
 #关闭文件
 f.close()  

代码(传入参数)

如何在使用命令调用cmd时传入参数?

直接在popen()的第一个参数中继续补充就行了。你可以把这一个字符串看作是直接在cmd终端敲入的命令

def useCmd(self):
 f = os.popen(r"python test.py --image", "r")#这里的参数是--image
 # 通过管道的方式来调用cmd,函数返回一个file对象,里面的内容是脚本输出的内容(可简单理解为echo输出的内容)
 # 读文件
 d = f.read()  #没有这一句可能会报错,如果没报错,当我没说。 → detection mode
 # print(d)
 #关闭文件
 f.close()  

补充

这条语句对我来说行不通

system("python test.py")

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 用Python 执行cmd命令

    我们通常可以使用os模块的命令进行执行cmd 方法一:os.system os.system(执行的命令) # 源码 def system(*args, **kwargs): # real signature unknown """ Execute the command in a subshell. """ pass 方法二:os.popen(执行的命令) os.popen(执行的命令) # 源码 def popen(cmd, mode=&qu

  • Python调用shell cmd方法代码示例解析

    1.使用os.system()去调用,但是只能返回执行状态,不能获取shell cmd执行结果 #!/usr/bin/python # -*- coding: utf-8 import os status = os.system("ps aux |grep Xcode |grep -v grep") print status 2.使用os.popen执行并获取结果 ​ 如果返回是str,直接通过read拿结果使用,如果是多行,选择readlines转list获取每行内容 #整份字符串处

  • python在CMD界面读取excel所有数据的示例

    代码 import xlrd import os from prettytable import PrettyTable import pandas #创建一个Excel表类 class Excel(object): def __init__(self, path): self.path = path //路径要加上文件名 #读取Excel内全部数据 参数sname是sheet页名字 def read_all_data(self, sname): workbook = xlrd.open_wor

  • 如何解决cmd运行python提示不是内部命令

    python安装完成后,直接运行python.exe能够正常执行python程序.但是进入到cmd命令窗口(同时按下win+r组合键后输入cmd进入),输入python命令提示"不是内部或外部命令",遇到这种现象通常是没有将python的安装路径添加到环境变量中. 在桌面上右键点击"此电脑",选择"属性",弹出系统界面选择"高级系统设置",进入系统属性界面后在"高级"选项中选中"环境变量"

  • 通过cmd进入python的步骤

    从cmd进入python的方法如下 1进入python 打开cmd-->直接输入python即可,如下 2退出python 方法一:先按Ctrl+z,再按Enter(回车键) 方法二:输入exit(),按回车 方法三:输入quit(),按回车 内容扩展: 在windows cmd下运行python,需要设置环境变量,不设环境变量是不能在cmd下运行python的, 现在假设python安装在C:Python25目录下,设置环境变量方法如下: 方法一.我的电脑->属性->高级->环境

  • 在cmd中运行.py文件: python的操作步骤

    1 打开cmd, 不改变运行的目录: 输入python 空格  调试好的python文件路径 或者python 空格  将python文件拖入cmd中 2 打开cmd 输入要改变的路径盘 比如:E: (回车键) 输入路径languang\sublime\pythonTest.py 回车运行 以上这篇在cmd中运行.py文件: python的操作步骤就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: 在CMD命令行中运行python脚本的方法

  • 如何从Python的cmd中获得.py文件参数

    代码: import sys # 导入系统模块获得cmd的参数 import traceback def TEST(params): print(type(params)) if __name__ == '__main__': try: params = None # 获得传入参数 if len(sys.argv) > 1: params_str = '' for i in range(1, len(sys.argv)): params_str += sys.argv[i] if params_

  • Python模块包中__init__.py文件功能分析

    本文实例讲述了Python模块包中__init__.py文件功能.分享给大家供大家参考,具体如下: 用django做开发已经一年多的时间,但基本没注意python模块中__init__.py文件存在的意义,偶然看到对它的介绍吓一大跳,这个文件太重要了 模块包: 包通常总是一个目录,目录下为首的一个文件便是 __init__.py.然后是一些模块文件和子目录,假如子目录中也有 __init__.py 那么它就是这个包的子包了. 差不多就像这样吧: Package1/ __init__.py   

  • Python中__init__.py文件的作用详解

    __init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件. 通常__init__.py 文件为空,但是我们还可以为它增加其他的功能.我们在导入一个包时,实际上是导入了它的__init__.py文件.这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入. # package # __init__.py import re import urllib import sys impo

  • python中关于py文件之间相互import的问题及解决方法

    目录 问题背景 实例演示 问题背景 调试脚本时,遇到一个问题:ImportError: cannot import name 'A' from 'study_case.a' (/Users/rchera/PycharmProjects/test/study_case/a.py) 具体情况是这样婶儿的: 前些日子写了一个py文件,它的功能主要是创建数据(暂且称为create_data.py,每条数据会生成一个唯一的id): 同时写了另一个py文件,它的功能主要是操作数据,例如对数据进行编辑.删除等

  • Python包中__init__.py文件的作用与用法实例详解

    目录 前言 一.__init__.py文件简介 二.__init__.py文件的使用案例 2.1.没有__init__.py文件的目录,使用import xx.xx会报错吗? 2.2.在__init__.py文件中定义变量或者逻辑将在导入时候被执行 2.3.在__init__.py文件中定义变量或者方法,可以被直接导入使用 2.4.在__init__.py文件中使用__all__方法 总结 前言 在Python工程中,我们经常可以看到带有“__init__.py”文件的目录,在PyCharm中,

  • Python中__init__.py文件的作用

    目录 1 init文件夹图标 2 init.py导入包方式 2.1 单个导入 2.2 批量引入(定义__all__用来模糊导入) 3 实例 4 其他常见问题 4.1 使用__init__.py文件的优点 4.2 没有__init__.py文件的目录,使用import xx.xx会报错吗? 4.3 根据导入模块和主程序不同import方式 1 init文件夹图标 在PyCharm中,带有__init__.py这个文件的目录被认为是Python的包目录,与普通目录的图标有不一样的显示.如下图所示,d

  • 深入理解Python中__init__.py文件

    目录 1. 简介 1.1 模块(Module)和包(Package)的概念 1.2 __init__.py文件简介 2. __init__.py内容写法 2.1 __init__.py文件内容 2.2 __init__.py内容解释 1. 简介 1.1 模块(Module)和包(Package)的概念 模块是程序,任何Python程序都可以作为模块导入.写在脚本.py文件中的函数,比如xx.py,可以在另一个模块或者脚本中通过import xx进行导入.如果要导入xx.py中的函数yy,就写成f

  • Python 分发包中添加额外文件的方法

    在制作一个 Python 分发包时经常需要把一些文件添加到包中.最常见的例子是你希望通过  pip install 命令安装 Python 包时会在  /etc/ 等目录下自动添加默认配置文件,由此可以让 Python 安装完成就可以工作,同时也可以给用户提供配置样例参考. 参考Installing Additional Files 如果使用 setuptools,在 setup.py 文件中可以通过 data_files 配置项配置分发包的额外文件, 格式为: (<安装位置>, [<文

  • python实现跨进程(跨py文件)通信示例

    目录 前言 一.server端 二.client端 三.运行效果 总结 前言 项目中总会遇到数据需要跨进程通信的问题,今天就给大家带来一套简单的跨进程通信代码.代码分为服务端与客户端两部分. 一.server端 import multiprocessing import time def do_socket(conn, addr, ): try: while True: if conn.poll(1) == False: time.sleep(0.5) continue data = conn.

随机推荐