我想分析一组python文件。这些文件来自同一个项目,它们读取文件并写入文件。现在某些文件只能在运行其他文件后运行,因为它将前一个文件的输出作为输入。我想想象一下依赖性。为此,我想从给定文件中提取输入文件名和输出文件名,而不执行文件本身。如何最好地完成这项任务?
更具体:
我的python文件包含以下语句:
base_dir = os.path.join('/bla/bla/infiles')
in_file = open(os.path.join(base_dir, 'input.json'))
out_file = open(os.path.join(base_dir, 'output.json'), 'w')
我需要扫描文件并仅获取这些变量(似乎是文件名的变量)并打印出评估值。
谢谢你的帮助。
答案 0 :(得分:1)
您只需导入相关文件,然后读出变量即可。
将所有功能放在一个函数中,以确保没有运行任何内容并使用
__main__
指令能够从shell执行
import os
import sys
base_dir = os.path.join('/bla/bla/infiles')
def hest(args*):
print args
if __name__ == "__main__":
hest(sys.argv)
如果从其他python脚本导入上述内容,则可以访问base_dir,但不运行该函数。如果从shell运行脚本,则会运行。
为了让它更漂亮,你应该将它包装在我认为的课程中。
答案 1 :(得分:0)
只需打开文件阅读:
with open("file.ext", "r") as ifile:
data = ifile.read()
然后编写正则表达式或任何您喜欢的文件名。