当前位置: 首页 > 面试题库 >

如何打开文件夹中的每个文件?

谷梁宝
2023-03-14
问题内容

我有一个python脚本parse.py,该脚本在脚本中打开一个文件,例如file1,然后执行一些操作,可能会打印出字符总数。

filename = 'file1'
f = open(filename, 'r')
content = f.read()
print filename, len(content)

现在,我正在使用stdout将结果定向到我的输出文件-输出

python parse.py >> output

但是,我不想按文件手动处理此文件,有没有办法自动处理每个文件?喜欢

ls | awk '{print}' | python parse.py >> output

然后问题是如何从standardin中读取文件名?还是已经有一些内置函数可以轻松执行ls和此类工作?

谢谢!


问题答案:

操作系统

您可以使用以下命令列出当前目录中的所有文件os.listdir

import os
for filename in os.listdir(os.getcwd()):
   with open(os.path.join(os.getcwd(), filename), 'r') as f: # open in readonly mode
      # do your stuff

球状

或者,您可以根据glob模块的文件模式仅列出一些文件:

import glob
for filename in glob.glob('*.txt'):
   with open(os.path.join(os.cwd(), filename), 'r') as f: # open in readonly mode
      # do your stuff

不必是当前目录,您可以在所需的任何路径中列出它们:

path = '/some/path/to/file'
for filename in glob.glob(os.path.join(path, '*.txt')):
   with open(os.path.join(os.getcwd(), filename), 'r') as f: # open in readonly mode
      # do your stuff

管道 或者您甚至可以使用指定的管道使用fileinput

import fileinput
for line in fileinput.input():
    # do your stuff

然后将其与管道一起使用:

ls -1 | python parse.py


 类似资料:
  • 我是java新手,我在VSCODE上编码。我创建2.java文件,如下图所示: 这些是每个文件: Main.java:

  • 压缩文件-->10个文件夹--每个文件夹>20个csv文件 null 尝试了以下代码,但不起作用

  • 如何更改默认的目录在Netbean 8.2JavaSE\ME\EE? 我已经编辑了我的文件行,但这只适用于项目。我试图在不打开整个项目的情况下打开单个文件。在"C:\用户\MYNAME\AppData\漫游\NetBeans\8.2\配置\首选项\org\netbean\模块"下找到文件(Windows)

  • 我发现自己的一个典型情况是在CDT视图中,我CRTL单击include语句并打开一个不在project explorer中的.h文件,所以我不能使用上面的插件打开包含的文件夹。当我把鼠标指针放在文件名称的顶部时,路径名提示会出现5秒钟,所以我可以手动导航到那个文件夹,但有时我会得到一个非常非常深的路径名,在那里导航需要很长时间,我不得不多次检查路径名提示,因为它一直在消失。当右键单击文件名时,其他

  • 我有一个csv($HomeDir)文件,如下所示: 我得到成功的LastAccessTime每个子文件夹在'HomeDir'列与此代码: $newcsv的结果是: 问题是:有没有办法根据相应的“用户”列分配相关用户?这样的输出对我来说也足够了 提前谢谢

  • 在阅读我需要的内容之前,不要将此标记为重复。 我见过许多类似的主题,但没有一个我找到解决方案。我需要最简单的事情:在我的应用程序中,我有按钮“查看媒体文件”。单击该按钮后,我需要打开(内置文件资源管理器)这个目录-SD_CARD/my_folder媒体文件在哪里(我想单击其中任何一个,它们应该在默认媒体播放器中打开)... 我已经使用了SO的所有建议答案,如下所示: 但他们所做的一切:点击按钮后,

  • 该文件位于我的资产文件夹下。因此,我正在设置WebViewClient并将我的页面加载到其中。但是我得到一个“网页不可用”的错误。 以下是我的活动代码: 和布局文件:

  • 我有一个使用摄像头的应用程序 1) 在该应用程序中,当用户打开多媒体资料时,我传递了一个打开默认电话多媒体资料的意图,但我希望它只打开特定文件夹?? 我如何才能做到这一点 2) 我想压缩我从图库中选择的图像?? 提前感谢!!!