在 python 脚本中获取路径
Getting path in python script
我正在尝试将 python 中的子进程用于 运行 linux 上的一些脚本,
但是我的道路对我想做的事情不起作用..
我正在使用:
subprocess.Popen(["nohup", "python", DIR4, DIR2 + dirname + /* + '/*.json'])
DIR4 = path of python, DIR2+dirname
是我要进入的目录。
从这里我想使用 DIR2+dirname
中的所有子目录和所有子目录中的所有 json 文件。
例如:
DIR2+dirname = /tmp/test/
在/tmp/test/
目录下,有/tt1, /tt2, /tt3
每个 /tt
个目录包含 1.json, 2.json, 3.json
我怎样才能在顶部使用我的命令调用这一切?
使用已接受的 this Whosebug question 答案,从 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)
如果您有很多文件,请记住命令行长度有 OS 特定限制,请参阅此 ServerFault question。
使用glob模块:
import os.path
import glob
jsons = glob.glob(os.path.join(DIR2, dirname, '*', '*.json'))
subprocess.Popen(["nohup", "python", DIR4] + jsons)
我正在尝试将 python 中的子进程用于 运行 linux 上的一些脚本, 但是我的道路对我想做的事情不起作用..
我正在使用:
subprocess.Popen(["nohup", "python", DIR4, DIR2 + dirname + /* + '/*.json'])
DIR4 = path of python, DIR2+dirname
是我要进入的目录。
从这里我想使用 DIR2+dirname
中的所有子目录和所有子目录中的所有 json 文件。
例如:
DIR2+dirname = /tmp/test/
在/tmp/test/
目录下,有/tt1, /tt2, /tt3
每个 /tt
个目录包含 1.json, 2.json, 3.json
我怎样才能在顶部使用我的命令调用这一切?
使用已接受的 this Whosebug question 答案,从 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)
如果您有很多文件,请记住命令行长度有 OS 特定限制,请参阅此 ServerFault question。
使用glob模块:
import os.path
import glob
jsons = glob.glob(os.path.join(DIR2, dirname, '*', '*.json'))
subprocess.Popen(["nohup", "python", DIR4] + jsons)