我正在尝试以特定方式对文件和目录进行排序(对我来说这是通常的方式,但还可以)。所以我有 JPG 文件,然后是一些 txt 文件或 wav,我有一些目录,我希望它像首先按名称排序所有文件,然后对目录排序,但是当我尝试执行以下操作时:
path = "/my_path"
arr = os.listdir(path)
arr.sort(key=lambda x: (os.path.isdir(x), x))
print(arr)
Run Code Online (Sandbox Code Playgroud)
代码给了我输出:
['10000100.JPG', '10000101.JPG', '10000102.JPG', '10000103.JPG', '10000104.BMP', 'BACKUP.BIN', 'DEPOSIT.BIN', 'HRYS', 'WAVS', 'k.txt', 's.wav']
Run Code Online (Sandbox Code Playgroud)
但应该是:
['10000100.JPG', '10000101.JPG', '10000102.JPG', '10000103.JPG', '10000104.BMP', 'BACKUP.BIN', 'DEPOSIT.BIN', 'k.txt', 's.wav', 'HRYS', 'WAVS']
Run Code Online (Sandbox Code Playgroud)
如何以正确的方式去做?
目前我有以下代码来填充表格。
在 component.ts 中:
import { HttpClient } from "@angular/common/http";
import { Component, OnInit } from "@angular/core";
import { FormBuilder, FormGroup, Validators } from "@angular/forms";
import { ActivatedRoute, Router } from "@angular/router";
import { MatTableDataSource } from "@angular/material/table";
@Component({
styleUrls: ["./styles.scss"],
templateUrl: "./template.html"
})
export class MyRouteData {
employeeInfoTable: object;
constructor(private http: HttpClient) {}
ngOnInit() {
this.http
.get("http://localhost:5000/MyRoute/GetEmployeeInfo")
.subscribe(response => {
this.employeeInfoTable = response;
});
}
}
Run Code Online (Sandbox Code Playgroud)
我的 template.html 文件如下所示:
<mat-card style="height: 98%">
<div style="height: 95%; overflow: auto;">
<table class="MyNiceStyle"> …Run Code Online (Sandbox Code Playgroud) 我收到 css loader invalid 选项的错误,我的 webpack.conifg.js 代码如下:
const path = require('path');
const HtmlWebPackPlugin = require("html-webpack-plugin");
const htmlWebpackPlugin = new HtmlWebPackPlugin({
template: "./public/index.html"
});
module.exports = {
entry: "./src/index.js",
output: {
path: path.resolve('dist'),
filename: 'bundled.js'
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.css$/,
use: [
{
loader: "style-loader"
},
{
loader: "css-loader",
options: {
modules: true,
importLoaders: 1,
localIdentName:"[name]_[local]_[hash:base64]",
sourceMap: true,
minimize: true
}
}
]
},
{
test: /\.(png|jpg|woff|woff2|eot|ttf|svg)$/, …Run Code Online (Sandbox Code Playgroud) 运行查询并将结果保存到表中后,我继续将其内容导出到 GCS 存储桶中。
在表格中,我单击“导出”,出现以下屏幕
因为表大于 1 GB,所以我使用了
bucketname/all_years*
Run Code Online (Sandbox Code Playgroud)
然后,因为我想要 CSV 和 JSON 格式的数据,所以指定了导出格式 CSV,开始导出并重复导出 JSON。
没有注意到我的存储桶内是否有 CSV 和 JSON 文件(由于成本问题,我立即将其删除,但我的记忆告诉我,它们不是 .csv / .json 已经在存储桶内),并且一旦我下载了内容从存储桶到我的 Windows 机器,我得到了一个文件类型的文件:
为了解决这个问题,我必须转到每个文件属性并添加 .csv / .json 并单击“确定”
为什么即使我将导出格式指定为 .CSV 和 .JSON,我还是得到了一个文件类型的文件?
csv json google-cloud-storage google-bigquery google-cloud-platform
我已经看到在 Django 项目中使用Memcached 的所有问题,这被认为是
Django 原生支持的最快、最高效的缓存类型
为实例,
那么,我们该如何使用它呢?
所以,这是我用 Django 1.8 创建 atm 的网页:

希望用户能够将数据导出为 .csv。
当用户:
发生什么了:
现在的问题是: 我想要带有“导出到 Excel”的按钮,从 Django 项目的根目录下载生成的文件。
这是按钮:
<form class="export_excel" id="login_form" action="/app/export">
{% csrf_token %}
<button class="btn btn-lg btn-primary btn-block" value="Export to Excel" type="submit">Export To Excel</button>
</form>
Run Code Online (Sandbox Code Playgroud)
这是在app/views.py:
def export(request):
filename = "test.csv" # this is the file people must download
response['Content-Disposition'] = 'attachment; filename=' + filename
response['Content-Type'] = 'application/vnd.ms-excel; charset=utf-16'
return response
Run Code Online (Sandbox Code Playgroud)
这是在app/urls.py:
# …Run Code Online (Sandbox Code Playgroud) 我有以下代码来解码 Javascript 中的 Jwt 令牌(参考:如何解码 javascript 中的 jwt 令牌)
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
function parseJwt(token) {
var base64Url = token.split('.')[1];
var base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
console.log(JSON.parse((atob(base64))))
};
parseJwt(token);Run Code Online (Sandbox Code Playgroud)
我从上面的代码中获取了我需要的有效负载,但是我在节点中实现它,我们没有“atob”函数来解码base64编码的字符串
看来我们需要在节点中使用Buffer。我进行了研究并提出了以下不起作用的解决方案。
const token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
function parseJwt(token) {
const base64Url = token.split('.')[1];
const base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
const buff = new Buffer(base64, 'base64');
const payloadinit = buff.toString('ascii');
const payload = JSON.parse(payloadinit);
console.log(payload)
};
parseJwt(token);Run Code Online (Sandbox Code Playgroud)
如果有更好的方法,请告诉我 - 无库(Jwt 或解码 Jwt)
我的Jquery没有加载
<link href="css/bootstrap.css" rel="stylesheet" type="text/css">
<link href="css/bootstrap-theme.css" rel="stylesheet" type="text/css"
<script type="text/javascript" src="js/jquery-3.1.1.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
如果我在bootstrap.min.js之后放了jquery,jquery正在加载但是我需要首先加载jquery,当我这样做时,我得到:
未捕获的错误:Bootstrap的JavaScript需要jQuery(...)
我有以下清单
a = ['Bananas', 'Ananas', 'Peach', 'Grapes', 'Oranges']
Run Code Online (Sandbox Code Playgroud)
并希望将其作为像这样的字典列表
b = [{"fruit": "Bananas"},{"fruit": "Ananas"},{"fruit": "Peach"},{"fruit": "Grapes"},{"fruit": "Oranges"}]
Run Code Online (Sandbox Code Playgroud)
那怎么办呢?
python ×4
csv ×2
django ×2
javascript ×2
alphabetical ×1
angular ×1
angular7 ×1
directory ×1
django-1.11 ×1
excel ×1
express ×1
html ×1
html-table ×1
jquery ×1
json ×1
jwt ×1
list ×1
listdir ×1
memcached ×1
node.js ×1
python-2.7 ×1
python-3.x ×1
reactjs ×1
reddit ×1
set ×1
sorting ×1
typescript ×1
webpack ×1