git Jupyter Notebook中的F字符串和命令行

4nkexdtk  于 10个月前  发布在  Git
关注(0)|答案(1)|浏览(88)

我写了一个小的python函数,它可以执行一个git push。在使用f字符串和输入函数时!git commit -m f '{msg}'它总是包含f字符串格式中的f。有没有更好的方法来格式化这个脚本,以摆脱f?
这就是git上的提交消息的样子
f\\ trying to make git push more readable

def git_push():
    msg = input('What is the commit message?\n')
    !git add .
    !git commit -m f'\\ {msg}'
    !git push
cygmwpex

cygmwpex1#

正如评论中所指出的,这是一个坏主意。然而,没有人指出你的错误前提:在神奇的! …命令中,您没有(也不能使用AFAICS)使用f字符串。正如documentation所指出的,PEP-215在本例中用于字符串插值。
请考虑以下示例:

def example(msg):
    !echo f'\\ {msg}'
    !echo '\\ {msg}'
    !echo {msg}
    # ---
    x = 1/3
    !echo {x:.3f}
    !echo {f"{x:.3f}"}

example('hello')

这个打印

f\\ hello
\\ hello
hello
{x:.3f}
{f{x:.3f}}

如你所见

  • msg仍然是插值的,没有f
  • msg甚至不带引号
  • 在f弦上有效的东西在这里不起作用

例如,This question给出了实际语法的更多示例。

相关问题