小编mul*_*rse的帖子

在Vim中运行Python代码

我正在使用Vim编写Python代码,每次我想运行我的代码时,我都会在Vim中输入:

:w !python
Run Code Online (Sandbox Code Playgroud)

这令人沮丧,所以我一直在寻找一种更快的方法来在Vim中运行Python代码.从终端执行Python脚本可能吗?我正在使用Linux.

python vim

82
推荐指数
9
解决办法
9万
查看次数

类与函数

即使对于没有任何编程经验但具有公平数学背景的人来说,功能也很容易理解.另一方面,课程似乎更难掌握.

假设我想创建一个类/函数来计算给定他/她的生日年和当前年份的人的年龄.我应该为此创建一个类,还是一个函数?或者是依赖于场景的选择?

PS我正在研究Python,但我想这个问题是通用的.

oop class function

56
推荐指数
6
解决办法
7万
查看次数

Python中tkinter和tkinter.ttk的小部件有什么区别?

tkinter模块和子模块其ttk在Python 3看起来包含相同窗口小部件(即Buttons,CheckButtons等).

因此,在创建按钮时,可以自由使用tkinter.Button小部件或tkinter.ttk.Button.

你知道他们之间有什么区别吗?你为什么选择其中一个?

python tkinter ttk

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

如何直接从终端创建和打开jupyter notebook ipynb文件

该命令jupyter notebook将打开Jupyter目录树页面,您可以在其中创建ipynb文件.

有没有办法跳过该页面并直接在浏览器上创建和打开ipynb文件?

我在想像jupyter notebook mynotebook.ipynb

python terminal jupyter-notebook

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

突出显示Jupyter单元格中的部分代码

有没有办法突出Jupyter细胞的某些线条?类似于下图的东西(我用照片编辑器创建的):

在此输入图像描述

我不是指用光标选择,而是永久性的.例如,当您想要突出显示新添加的代码时,这对于演示文稿非常有用.

css python highlight jupyter-notebook

17
推荐指数
1
解决办法
1541
查看次数

py2exe的相对导入错误

我试图为简单的Python脚本生成可执行文件.我的setup.py代码如下所示:

from distutils.core import setup
import py2exe
setup(console=["script.py"])
Run Code Online (Sandbox Code Playgroud)

但是,我收到屏幕截图中显示的错误.有什么我可以尝试解决这个问题吗?我使用的是Windows 10.

在此输入图像描述

python py2exe relative-import

14
推荐指数
1
解决办法
1815
查看次数

覆盖以前提取的文件而不是创建新文件

有一些库用于通过Python提取存档文件,例如gzip,zipfile库,rarfile,tarfile,patool等.我发现其中一个库(patool)特别有用,因为它具有交叉格式功能它可以提取几乎任何类型的存档,包括最流行的存档,如ZIP,GZIP,TAR和RAR.

要使用patool提取存档文件,它就像这样简单:

patoolib.extract_archive( "Archive.zip",outdir="Folder1")
Run Code Online (Sandbox Code Playgroud)

其中"Archive.zip"是存档文件"Folder1"的路径,而是存储解压缩文件的目录的路径.

提取工作正常.问题是,如果我为完全相同的存档文件再次运行相同的代码,则相同的提取文件将存储在同一文件夹中,但名称略有不同(第一次运行时为文件名,第二次运行时为filename1,文件名为11)第三,等等.

如果目录中已经存在同名文件,我需要代码来覆盖提取的文件.

这个extract_archive函数看起来很小 - 它只有这两个参数,一个verbosity参数和一个program参数,它指定了你想要提取档案的程序.

编辑: Nizam Mohamed的回答记录了extract_archive函数实际上覆盖了输出.我发现这部分是正确的 - 该函数会覆盖ZIP文件,但不会覆盖我所追求的GZ文件.对于GZ文件,该函数仍会生成新文件.

编辑 Padraic Cunningham的回答建议使用主源.因此,我下载了该代码,并用链接中的脚本替换了旧的patool库脚本.结果如下:

os.listdir()
Out[11]: ['a.gz']

patoolib.extract_archive("a.gz",verbosity=1,outdir=".")
patool: Extracting a.gz ...
patool: ... a.gz extracted to `.'.
Out[12]: '.'

patoolib.extract_archive("a.gz",verbosity=1,outdir=".")
patool: Extracting a.gz ...
patool: ... a.gz extracted to `.'.
Out[13]: '.'

patoolib.extract_archive("a.gz",verbosity=1,outdir=".")
patool: Extracting a.gz ...
patool: ... a.gz extracted to `.'.
Out[14]: '.'

os.listdir()
Out[15]: ['a', 'a.gz', 'a1', 'a2'] …
Run Code Online (Sandbox Code Playgroud)

python file extract overwrite ziparchive

11
推荐指数
2
解决办法
4617
查看次数

为什么`function`不是Python中的关键字?

str或等的类type

>>> type("pear")
<class 'str'>
>>> type(str)
<class 'type'>
Run Code Online (Sandbox Code Playgroud)

可以在Python中访问:

>>> str
<class 'str'>
>>> type
<class 'type'>
Run Code Online (Sandbox Code Playgroud)

然而,类functionbuiltin_function_or_method不.

>>> def foo(): pass
... 
>>> type(foo)
<class 'function'>
>>> type(print)
<class 'builtin_function_or_method'>
Run Code Online (Sandbox Code Playgroud)

它们显示为内置类但尝试访问它们会引发名称错误:

>>> function
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'function' is not defined
>>> builtin_function_or_method
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'builtin_function_or_method' is not defined
Run Code Online (Sandbox Code Playgroud)

有什么特别的function …

python class built-in

11
推荐指数
2
解决办法
1046
查看次数

从for循环中仅打印一次消息

我想查找列表元素中是否包含特定字符串.如果找到该字符串,我想打印出"String found",否则"找不到字符串".但是,我提出的代码,使得"找不到字符串"的多个打印.我知道原因,但我不知道如何修复它并只打印一次消息.

animals=["dog.mouse.cow","horse.tiger.monkey",
         "badger.lion.chimp","trok.cat.    bee"]
      for i in animals :
          if "cat" in i:
              print("String found")
          else:
              print("String not found")
Run Code Online (Sandbox Code Playgroud)

python for-loop

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

你能在Atom编辑器中打开一个Python shell吗?

您可以在Atom编辑器中打开多个选项卡,也可以使用多列布局.但是,我无法找到如何在Atom中打开Python shell,以便我可以在Python交互式shell中加载Python脚本.

有谁知道实现这一目标的步骤?

python atom-editor

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