在python脚本中获取路径
我正在尝试使用python中的子进程在linux上运行一些脚本, 但是我的道路对我正在努力做的事情不起作用 我正在使用:在python脚本中获取路径,python,linux,bash,shell,unix,Python,Linux,Bash,Shell,Unix,我正在尝试使用python中的子进程在linux上运行一些脚本, 但是我的道路对我正在努力做的事情不起作用 我正在使用: subprocess.Popen(["nohup", "python", DIR4, DIR2 + dirname + /* + '/*.json']) DIR4=python的路径,DIR2+dirname是我想要进入的目录。 在这里,我想使用DIR2+dirname中的所有子目录以及所有子目录中的所有json文件 例如: DIR2+dirname = /tmp/te
subprocess.Popen(["nohup", "python", DIR4, DIR2 + dirname + /* + '/*.json'])
DIR4=python的路径,DIR2+dirname
是我想要进入的目录。
在这里,我想使用DIR2+dirname
中的所有子目录以及所有子目录中的所有json文件
例如:
DIR2+dirname = /tmp/test/
在/tmp/test/
目录中,有/tt1、/tt2、/tt3
每个/tt
目录都包含1.json、2.json、3.json
如何使用我的命令在顶部调用这些文件?使用已接受的答案,从
DIR2+dirname
开始作为查找所有JSON文件的路径
这段代码是从那里复制过来的,稍作修改:
import fnmatch
import os
matches = []
for root, dirnames, filenames in os.walk(DIR2 + dirname):
for filename in fnmatch.filter(filenames, '*.json'):
matches.append(os.path.join(root, filename))
subprocess.Popen(["nohup", "python", DIR4] + matches)
如果您有许多文件,请记住命令行长度有一个特定于操作系统的限制,请参见此。使用模块:
您想递归地在所有子目录中查找json文件,还是只在目录加上一级子目录中查找json文件?我得到的是
用法:python LIMSQCstats.py inputFile.json
而不是它应该做的@tzaman
import os.path
import glob
jsons = glob.glob(os.path.join(DIR2, dirname, '*', '*.json'))
subprocess.Popen(["nohup", "python", DIR4] + jsons)