Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 在这种情况下ux做了什么。(Python/Django)_Python 3.x_Django - Fatal编程技术网

Python 3.x 在这种情况下ux做了什么。(Python/Django)

Python 3.x 在这种情况下ux做了什么。(Python/Django),python-3.x,django,Python 3.x,Django,在声明文件名之前,我一直在绞尽脑汁试图弄清楚下划线和逗号在以下代码中的作用: def list_entries(): """ Returns a list of all names of encyclopedia entries. """ _,filenames = default_storage.listdir("entries") return list(sorted(re.sub(r"\.md$&q

在声明文件名之前,我一直在绞尽脑汁试图弄清楚下划线和逗号在以下代码中的作用:

def list_entries():
"""
Returns a list of all names of encyclopedia entries.
"""
_,filenames = default_storage.listdir("entries")

return list(sorted(re.sub(r"\.md$", "", filename)
            for filename in filenames if (filename.endswith(".md") and filename != ("EntryNotFound.md"))))

我知道下划线可以用作一次性变量或存储最后一个名为的变量。但我看不出这在这里有什么意义。

序列解包在这里被用来抓取第二个项目,而“扔掉”第一个项目。这基本上相当于:

stuff = default_storage.listdir("entries")
filenames = stuff[1]
del stuff  # This could be omitted

之所以使用下划线,是因为必须存在某些东西才能通过解包来命名第二个元素,但不需要解包的第一个值。

这里使用序列解包来获取第二个项目,同时“丢弃”第一个项目。这基本上相当于:

stuff = default_storage.listdir("entries")
filenames = stuff[1]
del stuff  # This could be omitted

之所以使用下划线,是因为必须存在某些内容才能通过解包命名第二个元素,但不需要解包的第一个值。

os.listdir
不同,它的第一个条目是目录列表,第二个条目是文件列表。正如您所提到的,下划线在这里用作一次性变量。

不同于
os.listdir
,它的第一个条目是目录列表,第二个条目是文件列表。正如您所提到的,下划线在这里用作一次性变量。

它是一个一次性变量,用于。如果
listdir
函数返回一个包含两个元素的iterable,第一个元素将分配给
\ucode>变量,第二个元素分配给
文件名。例如,2元组、包含两个项目的列表、包含两个字符的字符串等

在这种特定情况下,返回一个2元组:

listdir(路径)

列出指定路径的内容,返回 列表;第一项是目录,第二项是 文件。适用于无法提供此类功能的存储系统 在列表中,这将引发一个
NotImplementedError


因此,这意味着我们解压2元组,将目录列表分配给
\ucode>变量,将文件列表分配给
filenames
变量。

这是一个用于。如果
listdir
函数返回一个包含两个元素的iterable,第一个元素将分配给
\ucode>变量,第二个元素分配给
文件名。例如,2元组、包含两个项目的列表、包含两个字符的字符串等

在这种特定情况下,返回一个2元组:

listdir(路径)

列出指定路径的内容,返回 列表;第一项是目录,第二项是 文件。适用于无法提供此类功能的存储系统 在列表中,这将引发一个
NotImplementedError


因此,这意味着我们将解压2元组,将目录列表分配给
\ucode>变量,将文件列表分配给
filenames
变量。

啊,这很有意义。谢谢你的明确回答。啊,这很有道理。谢谢你清楚的回答。谢谢你花时间。现在说得通了谢谢你花时间。现在有道理了