在Python中从不同路径检索文件?

2024-04-26 18:15:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在为一个命令行程序构建一个Python包装器。包装器接受一系列文件,并将它们作为参数逐个发送到命令行程序。我的包装是这样的:

for file_name in glob.iglob('A0*'):
    output_dir = ''.join(('my_output_',file_name))
    cmd = ['/Users/bunsen/src/my_program', file_name]
    process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
    process.wait()

我很难理解如何控制文件路径。我有一个很长的文件名列表,我的命令行程序必须遍历这些文件名。目前,如果文件与Python脚本在同一个目录中,我的包装器工作得很好。在

我希望将命令行参数文件存储在一个单独的子目录中,并使用Python以相对路径访问该子目录。如何向程序中添加允许Python执行此操作的代码?谢谢。在


Tags: 文件命令行namein程序cmdforoutput
2条回答

您可以使用os模块获取一些有用的(和平台无关的)路径名函数。你可以尝试一下:

import os
COMMAND_LINE_FILES_HOME = "cmd_files" # Set the name of the directory where the command line files live
BASE_PATH = os.path.abspath(os.path.dirname(__file__)) # gets the path to the directory where this file lives

COMMAND_LINE_FILES_DIRECTORY = os.path.join(BASE_PATH, COMMAND_LINE_FILES_HOME) # Join these paths in a system-neutral way

现在您可以在打开文件时使用命令行\u FILES\u DIRECTORY。你可以得到这个目录中的一个文件列表并遍历它们(正如Carlos上面建议的那样,球.iglob(路径名)),或任何您想要的。在

似乎您想要的是以下内容:glob.iglob(os.getcwd()+'/A0*')

相关问题 更多 >