[英]how to get unpredictable directory path with python?
首先,我将简要描述我要解决的问题:
我有一个基于 UNIX 的系统,它运行导致图像创建的自动运行。
这些图像保存在运行期间创建的目录中,并且目录的名称是不可预测的[名称取决于很多因素,而不是恒定的。]
该目录是在恒定路径下创建的,即:
/usr/local/insight/results/images/toolsDB/lauto_ptest_s + str(datetime.datetime.now()).split()[0] + /w1
所以,现在我得到了一个恒定形式的路径,它是我完整路径的一部分。 我试图以一种愚蠢的方式获得完整的路径:
我编写了一个脚本,通过按 ctrl+alt+sft+w 打开一个新终端,在终端中将 cd 命令写入常量路径,然后按 Tab 以完成完整路径 [在常量路径中总是有一个创建的目录,因此按选项卡将始终让我获得完整路径]。
从理论上讲,我在终端中有一个完整路径,我怎样才能复制这个完整路径并让函数返回它?
这是我的代码:
import pyautogui
import datetime
def open_images_directory():
pyautogui.hotkey('ctrl', 'alt', 'shift', 'w')
pyautogui.write(
'cd' + ' /usr/local/insight/results/images/toolsDB/lauto_ptest_s' + str(datetime.datetime.now()).split()[
0] + '/w1/')
pyautogui.sleep(0.5)
pyautogui.hotkey('tab') # now I have a full path in terminal which I want to return by func
open_images_directory()
不确定您如何使用pyautogui
,但正确的解决方案是使用一些glob 模式搜索目录结构
例子:
from pathlib import Path
const_path = Path("const_path")
for path in [p for p in const_path.rglob("*")]:
if path.is_dir():
print(f"found directory {path}")
else:
print(f"found your image {path}")
const_path.rglob("*")
递归搜索每个路径(因此它将包含每个子目录),最后一个将是您要搜索的路径。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.