查找文件的路径

修改老代码时发现,发现这行代码

NSString *filePath = [NSString documentsPath:@"CertificateType.plist"];
NSArray *array = [NSArray arrayWithContentsOfFile:filePath];

在真机没问题,而模拟器上报错:

文件路径如下:

 

这是因为在模拟器上filePath没有返回文件路径,所以array是空值,因此必须更改查找文件路径的方式:

https://www.jianshu.com/p/a4935e6427ec

根据文章重新修改获取路径,那么无论是模拟器还是真机 array 都会有值 

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"CertificateType" ofType:@"plist"];
            
NSArray *array = [NSArray arrayWithContentsOfFile:filePath];

转载于:https://www.cnblogs.com/QM80/p/10299624.html

### Python 查找文件路径的方法 在 Python 中,查找文件路径可以通过多种方法实现。以下是一些常见的方法及其详细说明。 #### 方法一:递归搜索文件路径 可以使用 `os` 模块中的 `os.walk()` 或者自定义递归函数来遍历目录并查找目标文件。这种方法能够深入目录结构,找到指定名称的文件[^1]。 ```python import os # 待搜索的目录路径 path = "Day1-homework" # 待搜索的文件名 filename = "2020" # 定义保存结果的列表 result = [] def find_files(directory, target): for root, dirs, files in os.walk(directory): # 使用 os.walk 遍历目录树 for file in files: if target in file: # 如果文件名包含目标字符串 result.append(os.path.join(root, file)) # 将完整路径加入结果列表 if __name__ == '__main__': find_files(path, filename) for r in result: print(r) ``` 此代码片段通过 `os.walk()` 遍历指定目录及其子目录,并将所有匹配的文件路径存储到 `result` 列表中[^1]。 #### 方法二:使用 `glob` 模块匹配文件路径 `glob` 模块提供了一种简单的方式来查找符合特定模式的文件路径。它支持通配符,因此可以轻松地搜索文件[^3]。 ```python import glob import os # 待搜索的目录路径 path = "Day1-homework" # 待搜索的文件名模式 pattern = "**/2020*" # 支持通配符,例如 "*.txt" 或 "2020*" # 获取所有匹配的文件路径 file_paths = glob.glob(os.path.join(path, pattern), recursive=True) for file_path in file_paths: print(file_path) ``` 此代码片段利用 `glob.glob()` 函数结合通配符和递归选项,快速查找符合条件的文件路径。 #### 方法三:获取当前文件或脚本的绝对路径 如果需要获取当前运行脚本所在的目录路径或者其父目录路径,可以使用 `os` 模块的相关功能[^4]。 ```python import os # 获取当前脚本的绝对路径 current_file_path = os.path.abspath(__file__) print("当前脚本的绝对路径:", current_file_path) # 获取当前脚本所在目录 current_dir = os.path.dirname(current_file_path) print("当前脚本所在目录:", current_dir) # 获取当前脚本所在目录的父目录 parent_dir = os.path.dirname(current_dir) print("当前脚本所在目录的父目录:", parent_dir) ``` 上述代码展示了如何使用 `os.path.abspath()` 和 `os.path.dirname()` 获取当前脚本的路径及其相关目录信息。 #### 方法四:动态添加模块搜索路径 当需要动态添加模块搜索路径时,可以使用 `sys.path.append()` 方法将指定路径添加到模块搜索路径中。 ```python import sys # 添加新的模块搜索路径 new_path = 'D:\\重要学习资料\\研究生\\python学习手册第5版\\源码\\0636920028154-master\\code' sys.path.append(new_path) # 打印更新后的模块搜索路径 print(sys.path) ``` 此代码片段展示了如何通过修改 `sys.path` 来扩展模块的搜索范围。 --- #### 注意事项 - 在使用 `os.walk()` 或 `glob.glob()` 时,确保提供的路径是有效的,并且程序具有相应的读取权限。 - 对于跨平台兼容性问题,建议使用 `os.path.join()` 来拼接路径,以避免因斜杠方向不同导致的问题[^2]。 - 如果需要处理 URL 和文件路径之间的转换,可以参考 `urllib` 模块的相关功能[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值