标签: pycharm

如何复制 bash 对作为参数传递给其他命令的命令的转义

编辑2:有点迟来的编辑来总结对此问题的评论。我误解了 bash 的工作原理,并将其与 python 的工作原理混淆了。我推测 Bash 转义了命令的输出kubectl,因此在传递给 python 命令时它不会被分解为多个参数。(即如何转义 python 字符串中的引号以阻止字符串被分解。)

实际上,当用引号括住命令的输出时,Bash 能够将命令执行的输出作为单个参数传递。它不会逃避任何事情,它也不会尝试解释这一切。我遇到的问题实际上是 PyCharm 缺乏将复杂字符串作为单个参数传递的功能,而 PyCharm 可以将带有空格的字符串解析为多个参数。


我将命令执行结果作为输入传递给 python,如下所示:

$ python parse_ips.py "$(kubectl get configmap ...)"
Run Code Online (Sandbox Code Playgroud)

从命令行执行时效果很好,但我现在尝试使用 PyCharm 编辑文件。因此,我需要该命令结果的转义版本,我可以将其粘贴到 PyCharm 的调试配置中,因为我无法像在命令行上那样实时执行该命令。

但是,我正在努力寻找一种在幕后复制转义 bash 的方法,因此我可以将结果用作 PyCharm 配置中的参数。运行上述kubectl命令会产生一个包含空格和引号的多行字符串。当我将其粘贴到 PyCharm 中时,它只是将其解释为多个参数。我正在寻找转义结果,我可以将其直接粘贴到命令行中,或粘贴到 PyCharm 的调试配置中,以使用固定参数实现相同的结果进行测试。

任何帮助将不胜感激!

编辑:为了澄清,我的意思是在命令行上,$(kubectl ...)当命令的结果用引号 () 括起来时,它会作为单个命令行参数传递到 python 程序中"$(kubectl ...)"。所以在python程序中,你可以访问sys.argv[1]并且它将包含$(kubectl get configmap ...). 但是,如果我自己在命令行上执行该命令,结果是一个多行字符串。

如果我随后将结果复制到 PyCharm 中(甚至再次复制到命令行中),它​​会被解释为许多命令行参数。例如,它看起来像这样:

$ python parse_ips.py apiVersion: v1
data:
  item1: ifconfig-push 127.0.0.0 255.255.0.0
  item2: ifconfig-push 127.0.0.1 …
Run Code Online (Sandbox Code Playgroud)

python bash escaping pycharm

0
推荐指数
1
解决办法
279
查看次数

为什么 mypy/PyCharm/etc 没有检测到 Type[T] 的类型错误?

考虑以下代码:

def verify(schema: Type[T], data: T) -> None:
    pass

verify(int, "3")
verify(float, "3")
verify(str, "3")
Run Code Online (Sandbox Code Playgroud)

我希望前两个verify()调用显示为类型错误,而最后一个则不会。

然而,在 PyCharm 和 mypy 中,它们都没有出现类型错误。我尝试启用所有可能的严格性标志和错误代码,但什么也没有。

我怎样才能让类型检查器对此进行类型检查?为什么会失败?

库喜欢apischema依赖这样的功能来进行类型检查,例如apischema.serialize(MyDataclass, my_dataclass),但这也不起作用。

python typing pycharm mypy python-typing

0
推荐指数
1
解决办法
98
查看次数

无法在pycharm 4.0.3中创建桌面条目

下载后pycharm 4.0.3.zip,我将其解压缩到主文件夹并重命名为.pycharm 4.0.3.

然后我打开了一个终端,然后去/.pycharm 4.0.3/pycharm 4.0.3/bin运行命令sh pycharm.sh.

之后,当我尝试创建桌面条目表单配置>>创建桌面条目时,它显示:

无法创建桌面条目无法在'/home/rimon/.pycharm 4.0.3/pycharm 4.0.3/bin'中找到合适的启动脚本.

我在Ubuntu 14.04上.

编辑

它现在正在运行,我流动的步骤:

  1. 我下载了一个新的pycharm-4.0.4.tar.gz文件

  2. 然后我将这两个文件命名为fsnotifier&fsnotifier64 executable,它位于/home/rimon/.pycharm-4.0.4/bin文件夹中

  3. 然后我做了pycharm.sh可执行文件,位于同一个文件夹中.

  4. 然后运行命令cd /home/rimon/.pycharm-4.0.4/bin然后运行./pycharm.sh

最后通常从Configure >> create desktop entry创建桌面条目

python ide pycharm

-1
推荐指数
1
解决办法
2165
查看次数

Python if是布尔语句

我在一个简单的表达式中遇到了问题,如下所示.

number=int(input("enter the number"))
for n in range(40-101):
    if n % number is 0:
        print(n)
Run Code Online (Sandbox Code Playgroud)

当我输入10作为输入时,它不输出任何内容作为输出.通过我的小学数学,我可以轻松地假设这应该打印所有可以除以10的数字.

所以问题应该在if声明中.它没有进入print(n).

我正在使用PyCharm Community Edition和Python 3.4

python if-statement pycharm

-1
推荐指数
1
解决办法
112
查看次数

如何在PyCharm,Windows,python2.7中安装MySQLdb

我是Python的新手(我使用的是Python2.7)和Pycharm,但我需要使用MySQLdb模块来完成我的任务.我花时间搜索一些指南或技巧,最后我去了这里,但没有找到MySQLdb来安装. MySQL的-蟒蛇

但是有错误: 错误

python mysql-python pycharm

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

ValueError:太多值无法解包(预期2)PYTHON

class Strength(State):
    def run(self, gamedata):
        print("You have 100 points to assign to your character.\n Start now to assign those Points to your characters strength, agility, speed and defense.")
        strenghtwert = int(input("STRENGTH: >>"))
        return AGILITY, gamedata, strenghtwert

    def next(self, next_state):
        if next_state == AGILITY:
            return CreatePlayer.agility

class Agility(State):
    def run(self, gamedata,strenghtwert):
        agilitywert = int(input("AGILITY: >>"))
        return SPEED, gamedata, strenghtwert, agilitywert

    def next(self, next_state):
        if next_state == SPEED:
            return CreatePlayer.speed
Run Code Online (Sandbox Code Playgroud)

执行此操作时,出现错误:ValueError: too many values to unpack (expected 2)。我认为错误是return AGILITY, …

python state-machine pycharm python-3.x

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

从打开的 Excel 工作簿中提取数据的库

我正在尝试从已经打开的工作簿中提取数据。

我找到了xlrd 库,但似乎只能将它用于通过 Python 打开的工作簿。我将在我的项目中使用的工作簿已经打开,因此此方法无法使用。

我发现的第二个库OpenPyxl只为我返回错误,即使工作簿是打开的:

from openpyxl import load_workbook

wb = load_workbook(filename = 'Components V2.4.3.xlsm')
Run Code Online (Sandbox Code Playgroud)

返回:

FileNotFoundError: [Errno 2] 没有这样的文件或目录:'Components V2.4.3.xlsm'

最后,我使用了无法从中获取单元格值的win32com.client's Dispatch,因此我正在寻找替代方法。

我做错了什么openpyxl,或者我可以使用另一种方法吗?

python excel pycharm python-3.x

-1
推荐指数
1
解决办法
588
查看次数

numpy.linalg.LinAlgError:尝试求解时出现奇异矩阵错误

import numpy as np

A = np.array([[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]])
B = np.array([[1, 2], [3, 4], [5, 6], [7, 8]])
C = np.array([[1, 2, 3], [4, 5, 6]])
D = np.array([[1], [2], [3]])

prod_AB = np.matmul(A, B)
E = np.matmul(prod_AB, C)

x = np.linalg.solve(E, D)

Traceback (most recent call last):
  File "C:/Users/Owner.ASUS-DESKTOP/Documents/ENGR 102/Lab 10/test.py", line 11, in <module>
    x = np.linalg.solve(E, D)
  File "<__array_function__ internals>", line 5, in solve
  File "C:\Users\Owner.ASUS-DESKTOP\AppData\Local\Programs\Python\Python38\lib\site-packages\numpy\linalg\linalg.py", line …
Run Code Online (Sandbox Code Playgroud)

python numpy pycharm

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

如何在django中添加gmail登录功能

我想通过允许用户通过 python django 中的 gmail 帐户 ID 登录来对用户进行身份验证。我过度搜索它,但在网络上没有找到有效的结果。有谁知道如何做到这一点??我正在使用 pycharm IDE 。

python django pycharm

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

AttributeError:部分初始化的模块“socket”没有属性“gethostbyname”(很可能是由于循环导入) - Python

我正在通过编写一些非常简单的代码来测试 Socket 模块,但出现错误!

请按照以下代码操作:

import socket

resp="Y"
while(resp=="Y"):
    url=input("URL: ")
    ip=socket.gethostbyname(url)
    print("IP: ", ip)
    resp=input("Type <y> to continue: ").upper()
Run Code Online (Sandbox Code Playgroud)

错误图像

python pycharm

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