相关疑难解决方法(0)

在 VS Code 中运行 Python 脚本时如何隐藏文件路径?

每次我运行代码时,底部的终端都会显示这个长名称(我认为是文件位置)以及它应该显示的任何输出。

有没有办法让它消失?

它看起来是这样的:

(发生的事情的截图)

administrator@Machintosh-2 Exercise Files Python % /user/bin/python3...
Hello world!  
administrator@Machintosh-2 Exercise Files Python %
Run Code Online (Sandbox Code Playgroud)

python visual-studio-code

8
推荐指数
1
解决办法
1万
查看次数

将参数从cmd传递给python脚本

我在python中编写脚本并通过输入以下命令运行cmd:

C:\> python script.py
Run Code Online (Sandbox Code Playgroud)

我的一些脚本包含基于标志调用的单独算法和方法.现在我想通过cmd直接传递标志,而不是必须进入脚本并在运行之前更改标志,我想要类似于:

C:\> python script.py -algorithm=2
Run Code Online (Sandbox Code Playgroud)

我读过人们使用sys.argv几乎是类似的目的,但是阅读手册和论坛我无法理解它是如何工作的.

python cmd command-line-arguments

6
推荐指数
2
解决办法
6044
查看次数

如何从cmd提示符打开时将变量输入到python脚本?

我想知道如何从cmd提示符打开时从python脚本中输入变量?我知道使用c会做类似的事情:

int main( int argc, char **argv ) {
    int input1 = argv[ 0 ]
    int input2 = argv[ 1 ]

.....

}
Run Code Online (Sandbox Code Playgroud)

如何在python中实现同样的结果?

python input

5
推荐指数
2
解决办法
2万
查看次数

在提示时将密码传递给 Python 脚本

当提示输入密码时,如何将密码传递给我的 python 脚本。我不希望用户在提示时输入密码。它应该直接从脚本传递。

subprocess.run(['ansible-vault', 'decrypt', 'main.yml', 'linux.yml','--ask-vault-pass'])
Run Code Online (Sandbox Code Playgroud)

在运行脚本时,它会提示输入密码。我希望密码仅从脚本传递,而不是由用户传递或传递密码文件。

有没有办法在这里传递密码?我有其他 ansible 保险库选项,如保险库密码等,但这不符合我的目的。

python ansible ansible-vault

5
推荐指数
0
解决办法
168
查看次数

处理空的(sys.argv[1])

我正在编写一个控制音量的脚本。该脚本的名称是vv,它需要一个参数。例如vv .9,其中 .9 是您要设置音量的级别。该程序按预期工作,但我想更改它,以便如果省略参数,它会打印出当前的音量级别。我尝试过这样写。

import sys 
vol = float(sys.argv[1])

if len(sys.argv[1]) == 0:
    print(round(volume.value_flat, 2)) 
    exit(0)

else:
    run the rest of the program
Run Code Online (Sandbox Code Playgroud)

我也试过这样:

if (sys.argv[1]) == '':
Run Code Online (Sandbox Code Playgroud)

这两种方法都失败了。我想如果 sys.argv 没有得到它的参数,它就不会运行该程序,即使你专门测试没有参数?有没有更好的方法来做到这一点而不使用argparse

更新:我在几个答案的帮助下解决了这个问题。我做错的第一件事是测试 len == 0 而不是 len == 1。sys.argv 的 len 永远不会为 0,因为脚本名称始终为 [0]。另一件事是我在测试 len 之前正在研究 sys.argv - 显然这是不行的。另外,我的语法是错误的,应该使用 (sys.argv) 而不是 (sys.argv[1])。

这是更新后的代码:

if len(sys.argv) == 1:
    with Pulse('volume-example') as pulse:
        sink_input = pulse.sink_input_list()[0] 
        volume = sink_input.volume
        print('current level:','\t', round(volume.value_flat, 2)) 
        exit(0)

 else:
    vol …
Run Code Online (Sandbox Code Playgroud)

python parameter-passing

4
推荐指数
1
解决办法
1万
查看次数

在python脚本中使用命令行参数

我对python比较陌生.我想写一个脚本并传递它的参数如下:

myscript.py --arg1=hello --arg2=world
Run Code Online (Sandbox Code Playgroud)

在脚本中,我想访问参数arg1和arg2.任何人都可以解释如何以这种方式访问​​命令行参数?

python optparse argparse

3
推荐指数
1
解决办法
1155
查看次数

Python命令行参数赋值给变量

我必须将命令行参数存储在变量中或为其分配默认值.

我正在尝试的是下面

import sys
Var=sys.argv[1] or "somevalue"
Run Code Online (Sandbox Code Playgroud)

如果我没有指定任何参数,我将从索引中获取错误.怎么解决这个?

python logic command-line-arguments

3
推荐指数
2
解决办法
2万
查看次数

Python 脚本打开带有参数的 json 文件

我是Python新手。我正在使用 python 脚本,在其中加载 json 文件来为脚本设置某些值,但我的想法是使用参数更动态地导入该文件(我认为这是正确的用法),所以我不需要\xc2\xb4t始终在 python 脚本中包含 json 文件的名称,这里是可能的代码示例:

\n\n
import json\nfrom pprint import pprint\n\nwith open("VariableSettings.json") as json_data:\n    data = json.load(json_data)\n
Run Code Online (Sandbox Code Playgroud)\n\n

所以我的想法是更改代码: "with open("VariableSettings.json") as json_data" with args 动态打开 json 文件。

\n\n

我认为在命令提示符下我可以使用命令 py test.py arg1 (这代表文件路径)。

\n\n

所以我知道我的解释可能有点令人困惑,但如果有人可以帮助我,我会很感激。

\n

python

3
推荐指数
2
解决办法
9407
查看次数

通过 python 文件传递​​给机器人框架的命令行参数

语言:python - 3.7.3 机器人框架- 3.1.1 熟练程度:新手

我想从命令提示符将参数传递给 python 文件变量,然后想通过添加 python 文件作为变量来从机器人文件中打印相同的参数。

cmd (Variables) --> python file --> robot (print those variables) 
Run Code Online (Sandbox Code Playgroud)

但显然这些尝试都没有产生预期的结果。任何指导都将受到高度赞赏。

注意: Robot 和 Python 文件都位于 pycharm IDE 中的同一目录下。

命令行:-

1st try: robot -d Report -V test.py Test_sample.robot|py test.py test@test.com test@123 QA1

2nd try: robot -d Report Test_sample.robot|py test.py test@test.com test@123 QA1

3rd try: robot -d Report --Variablefile py test.py Test_sample.robot|py test.py test@test.com test@123 QA1

4th try: robot -d Report -V | py test.py test@test.com test@123 …
Run Code Online (Sandbox Code Playgroud)

python command-line-arguments python-3.x robotframework

3
推荐指数
1
解决办法
9075
查看次数

正确帮助争论

当脚本使用是这样的时候,Python optparse非常有用

%prog [options] [args]
Run Code Online (Sandbox Code Playgroud)

但我需要为脚本编写1个必需参数的帮助,所以用法就是这样的

%prog action [options] [args]
Run Code Online (Sandbox Code Playgroud)

使用Subversion时可以看到类似的东西 - 它的用法字符串是

svn <subcommand> [options] [args]
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是否有可能以Subversion的方式为optparse准备所需的参数帮助?结果我希望看到这样的帮助:

Usage: python myscript.py action [options] [args]

Available actions:
  foo
  bar

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  -v, --verbose         Verbose mode. Output debug log to stdout.
Run Code Online (Sandbox Code Playgroud)

python optparse

2
推荐指数
1
解决办法
173
查看次数