我正在尝试识别文件夹中具有特定名称的所有文件。我正在使用标准代码来执行此操作,如下所示:
for paths, subdirs, files in os.walk(start_dir, topdown=True):
for file in files:
print(os.path.join(paths, file))
Run Code Online (Sandbox Code Playgroud)
我的问题是关于 Windows 机器中这段代码的输出,基本上路径的动态部分有错误的斜杠符号:
D:/JAJA/Projects/DAF/AIM/WEBAPP/trunk/src/main/java/ie/gov/agriculture/aim\aes\AesSheetNumberEntity.java
D:/JAJA/Projects/DAF/AIM/WEBAPP/trunk/src/main/java/ie/gov/agriculture/aim\aes\DocumentReceivedDetailEntity.java
D:/JAJA/Projects/DAF/AIM/WEBAPP/trunk/src/main/java/ie/gov/agriculture/aim\aes\DocumentReceivedEntity.java
D:/JAJA/Projects/DAF/AIM/WEBAPP/trunk/src/main/java/ie/gov/agriculture/aim\aes\DocumentTypeEntity.java
Run Code Online (Sandbox Code Playgroud)
给出的开始文件夹是:
D:/JAJA/Projects/DAF/AIM/WEBAPP/trunk/src/main/java/ie/gov/agriculture/aim
Run Code Online (Sandbox Code Playgroud)
文件夹分隔符是 unix one:"/"
而 os.walk 函数找到的所有后续子文件夹都带有 Windows 斜杠:"\"
所以最后我有无效的路径,不能立即使用。这是 python os 库中的错误还是实际上的错误?
目前我可以轻松地用正确的分隔符替换错误的分隔符,但我想知道这是否是唯一的方法?
我正在使用 Ionic 4 和 Angular 8 构建移动应用程序,但无法使我的 HTTP 拦截器正常工作。我在这里查看了拦截器的所有示例,但没有一个适合我的需要,或者根本不再起作用。
与常规 Angular 8 版本的唯一区别是从存储中读取令牌的第一行。原始的 Angular 8 代码同步读取这些东西并且不需要订阅因此它可以工作。这里是 Ionic 存储,它以异步方式调用本地资源。
这是我的代码:
intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {
from(this.storage.get('id_token')).subscribe(res => {
const idToken = res;
if (idToken) {
const cloned = req.clone({ headers: req.headers.set('token', idToken)});
return next.handle(cloned);
} else {
console.log('Unauthorized calls are redirected to login page');
return next.handle(req).pipe(
tap(
event => {
// logging the http response to browser's console in case of a success
if (event instanceof HttpResponse) {
// console.log('api …Run Code Online (Sandbox Code Playgroud)