V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
stebest
V2EX  ›  Python

Python 如何设置运行时输入参数

  •  
  •   stebest ·
    newdee · 2019-01-14 11:17:37 +08:00 · 4919 次点击
    这是一个创建于 2151 天前的主题,其中的信息可能已经有所发展或是发生改变。

    平时用 python 不多,目前是想实现在命令行运行 python 的时候,比如打开一个相机视频流,然后运行过程中实时在命令行中输入各个参数的值,如曝光白平衡之类的。但好像看到的都是在程序调用时输入参数,但是像 nvgstcapture 命令就可以实现在打开摄像头预览之后实时设置参数。 不知道有没有大佬做过类似的事?

    15 条回复    2019-01-14 22:16:17 +08:00
    xpresslink
        1
    xpresslink  
       2019-01-14 12:02:16 +08:00
    撸主的需求没有太看懂。
    试一下 input()
    foxyier
        2
    foxyier  
       2019-01-14 12:32:07 +08:00
    click 模块
    alvin666
        3
    alvin666  
       2019-01-14 12:35:25 +08:00 via Android
    while True:
    input('曝光:')
    aaa5838769
        4
    aaa5838769  
       2019-01-14 13:08:02 +08:00
    input 吧
    xiaoheijw
        5
    xiaoheijw  
       2019-01-14 13:37:12 +08:00
    argv?
    stebest
        6
    stebest  
    OP
       2019-01-14 13:38:02 +08:00
    @xpresslink
    @foxyier
    @alvin666
    @aaa5838769
    非常感谢,其实 input 就可以实现,我是想有没有一个函数,输入参数时自动捕捉值给变量,有的话会方便不少。目前就是新开线程然后等待 input 实现的
    stebest
        7
    stebest  
    OP
       2019-01-14 13:38:26 +08:00
    @xiaoheijw argv 是调用时参数吧,不是运行时参数
    SeaRecluse
        8
    SeaRecluse  
       2019-01-14 14:02:45 +08:00
    QT 这样的?看你描述像一个交互的客户端程序
    kernelG
        9
    kernelG  
       2019-01-14 14:45:42 +08:00
    @stebest 我想我知道你的意思
    你可以这样去实现
    起一个 thread
    这个 thread 啥也不干,就死循环,隔段时间就检测输入
    然后如果检测到输入就解析,把变量传递过去,ok 了
    0ZXYDDu796nVCFxq
        10
    0ZXYDDu796nVCFxq  
       2019-01-14 15:10:02 +08:00 via Android
    1.做个图形界面
    2.如果只有命令行,可以做个接口,通过接口修改。如果你会前端,甚至可以做个 Web 控制台
    3.连接口都懒得做,甚至可以通过信号量来控制,你捕获信号量并修改变量
    4.再不行,写个配置文件,定时检测然后加载
    5.做个命令行交互
    byteli
        11
    byteli  
       2019-01-14 18:21:04 +08:00 via Android
    专门线程监听输入,或者使用信号。总之是要异步
    ml1344677
        12
    ml1344677  
       2019-01-14 20:53:40 +08:00
    类似于 socket 里面的 select()函数?
    expy
        13
    expy  
       2019-01-14 21:08:49 +08:00
    ncurses 之类的库做个命令行界面。
    https://docs.python.org/3/howto/curses.html
    stebest
        14
    stebest  
    OP
       2019-01-14 22:04:24 +08:00
    @SeaRecluse 对,就是想问下 py 命令行脚本在终端有没有类似 QT 这种方式实现
    stebest
        15
    stebest  
    OP
       2019-01-14 22:16:17 +08:00
    @kernelG
    @gstqc
    @expy
    @ml1344677
    @byteli
    谢谢诸位建议,另外,目前看了一下 python curses,感觉值得一试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1019 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:43 · PVG 04:43 · LAX 12:43 · JFK 15:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.