首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >返回python (shell)中文件名的长度

返回python (shell)中文件名的长度
EN

Stack Overflow用户
提问于 2020-06-15 13:42:43
回答 3查看 1.5K关注 0票数 0

如果文件名的长度在3-6个字符之间,我想编写一个Python,该脚本列出当前工作目录中的所有文件。另外,它应该只列出扩展名为.py的文件。

我找不到任何特定的函数来返回一个文件名的大小,只有它的contet的大小。

到目前为止,我的代码如下所示:

代码语言:javascript
复制
#!/usr/bin/env python3
import os

for file in os.listdir(os.getcwd()):
    if file.endswith(".py"):
        print(file)

有人能告诉我解决方案会是什么样子吗?在RegEx函数中使用os.getcwd(RegEx)吗?

编辑:

我很抱歉发布了这个琐碎的问题。我找到了解决方案,它看起来如下:

代码语言:javascript
复制
#!/usr/bin/env python3
import os

for file in os.listdir(os.getcwd()):
    if file.endswith(".py"):
        if ((len(os.path.splitext(file)[0])) > 2 and (len(os.path.splitext(file)[0])) < 7):
            print(file)

这对我的目的是有用的。谢谢你的回答,他们让我意识到使用len(文件名)是一种选择,因此我的问题不是很聪明。

EN

回答 3

Stack Overflow用户

发布于 2020-06-15 13:46:57

也许把file改为filename可以让事情变得更清楚..。

代码语言:javascript
复制
import os

for filename in os.listdir(os.getcwd()):
    if filename.endswith(".py"):
        print(filename, len(filename))

既然您知道if语句是如何工作的,那么您很可能可以使用len(filename)?:)

票数 2
EN

Stack Overflow用户

发布于 2020-06-15 13:47:55

你可以试试

代码语言:javascript
复制
import os

for file in os.listdir(os.getcwd()):
    if file.endswith(".py") and 3 <= len(file[:file.find(".")]) <= 6:
        print(file)

这将只打印文件名中有3到6个字符而没有文件扩展名的文件。

票数 2
EN

Stack Overflow用户

发布于 2020-06-15 13:48:17

变量file是一个字符串,因此可以使用一个函数来检索字符串的长度。

代码语言:javascript
复制
for file in os.listdir(os.getcwd()):
     if file.endswith(".py"):
         print(file, len(file))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62389496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档