/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/ws_后缀不固定/asset/前缀不固定.mp4,后缀和前缀都是随机生成的,该如何获取这个MP4文件
时间: 2023-11-30 14:04:09 浏览: 203
您可以使用以下代码来获取该MP4文件:
```python
import os
# 获取Android设备的根目录
root_dir = os.path.abspath(os.sep)
# 拼接文件路径
file_path = os.path.join(root_dir, 'storage', 'emulated', '0', 'Android', 'data', 'com.smile.gifmaker', 'files', 'workspace', 'ws_*', 'asset', '*.mp4')
# 查找文件
result = os.path.abspath(max(glob.iglob(file_path), key=os.path.getctime))
# 输出文件路径
print(result)
```
该代码会在Android设备的根目录下查找符合条件的MP4文件,并返回最新创建的文件路径。其中,`*`表示通配符,可以匹配任意字符。`glob.iglob()`函数会返回一个生成器,用于遍历符合条件的文件路径。`max()`函数会返回最新创建的文件路径。
相关问题
autojs读取目录/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/ws_后缀不固定/asset/前缀不固定.mp4,后缀和前缀都是随机生成的,该如何获取这个MP4文件
为了获取这个MP4文件,可以使用Auto.js中的文件操作函数来实现。具体步骤如下:
1.使用files模块的listDir函数列出目录/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/下的所有文件和文件夹。
2.遍历这些文件和文件夹,找到以ws_开头的文件夹。
3.进入这个文件夹,使用listFiles函数列出所有文件和文件夹。
4.遍历这些文件和文件夹,找到以asset_开头的文件夹。
5.进入这个文件夹,使用listFiles函数列出所有文件和文件夹。
6.遍历这些文件和文件夹,找到以.mp4结尾的文件。
7.获取这个文件的路径,即为所求。
下面是实现这个过程的代码:
```javascript
// 列出目录/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/下的所有文件和文件夹
var fileList = files.listDir("/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/");
// 遍历文件和文件夹,找到以ws_开头的文件夹
for (var i = 0; i < fileList.length; i++) {
if (fileList[i].startsWith("ws_") && files.isDir("/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/" + fileList[i])) {
// 进入这个文件夹,列出所有文件和文件夹
var assetList = files.listDir("/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/" + fileList[i]);
// 遍历文件和文件夹,找到以asset_开头的文件夹
for (var j = 0; j < assetList.length; j++) {
if (assetList[j].startsWith("asset_") && files.isDir("/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/" + fileList[i] + "/" + assetList[j])) {
// 进入这个文件夹,列出所有文件和文件夹
var mp4List = files.listDir("/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/" + fileList[i] + "/" + assetList[j]);
// 遍历文件和文件夹,找到以.mp4结尾的文件
for (var k = 0; k < mp4List.length; k++) {
if (mp4List[k].endsWith(".mp4") && files.isFile("/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/" + fileList[i] + "/" + assetList[j] + "/" + mp4List[k])) {
// 获取这个文件的路径
var mp4Path = "/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/" + fileList[i] + "/" + assetList[j] + "/" + mp4List[k];
// 输出这个文件的路径
console.log(mp4Path);
break;
}
}
break;
}
}
break;
}
}
```
"/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/"用autojs读取这个路径下的文件夹
你可以使用Auto.js的files模块来读取指定路径下的文件夹。以下是一个示例代码:
```javascript
var path = "/storage/emulated/0/Android/data/com.smile.gifmaker/files/workspace/";
var filesList = files.listDir(path);
for (var i = 0; i < filesList.length; i++) {
var file = filesList[i];
if (files.isDir(files.join(path, file))) {
toastLog("文件夹:" + file);
} else {
toastLog("文件:" + file);
}
}
```
这段代码将列出指定路径下的所有文件和文件夹,并通过toastLog()函数输出它们的名称。你可以根据需要修改代码以满足你的具体需求。
阅读全文