小编Tia*_*ica的帖子

对文件然后目录进行排序 os.listdir PYTHON

我正在尝试以特定方式对文件和目录进行排序(对我来说这是通常的方式,但还可以)。所以我有 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)

如何以正确的方式去做?

python sorting directory alphabetical listdir

2
推荐指数
1
解决办法
4586
查看次数

在 angular 7 中,如何使用来自对象的数据填充 mat-table

目前我有以下代码来填充表格。

在 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)

html-table typescript angular-material angular angular7

2
推荐指数
1
解决办法
1万
查看次数

Webpack 返回 ValidationError: CSS Loader Invalid Options

我收到 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)

reactjs webpack webpack-dev-server

2
推荐指数
1
解决办法
6975
查看次数

将 BigQuery 表导出到 GCS 作为 CSV 或 JSON 生成文件类型文件

运行查询并将结果保存到表中后,我继续将其内容导出到 GCS 存储桶中。

在表格中,我单击“导出”,出现以下屏幕

从 BigQuery 导出到 GCS

因为表大于 1 GB,所以我使用了

bucketname/all_years*
Run Code Online (Sandbox Code Playgroud)

然后,因为我想要 CSV 和 JSON 格式的数据,所以指定了导出格式 CSV,开始导出并重复导出 JSON。

没有注意到我的存储桶内是否有 CSV 和 JSON 文件(由于成本问题,我立即将其删除,但我的记忆告诉我,它们不是 .csv / .json 已经在存储桶内),并且一旦我下载了内容从存储桶到我的 Windows 机器,我得到了一个文件类型的文件:

文件类型文件GCS

为了解决这个问题,我必须转到每个文件属性并添加 .csv / .json 并单击“确定”

从文件类型到 CSV

现在终于.csv

为什么即使我将导出格式指定为 .CSV 和 .JSON,我还是得到了一个文件类型的文件?

csv json google-cloud-storage google-bigquery google-cloud-platform

2
推荐指数
1
解决办法
779
查看次数


使用按钮从 Django 项目根下载文件

所以,这是我用 Django 1.8 创建 atm 的网页: 在此处输入图片说明

希望用户能够将数据导出为 .csv。

当用户:

  1. 在框中写一个 subreddit 名称
  2. 按下“获取数据”按钮

发生什么了:

  1. 它创建了一个 test.csv(保存在项目的根目录中)
  2. 使用 Praw 检索数据
  3. 数据被插入到 .csv 中
  4. 数据呈现给用户查看

现在的问题是: 我想要带有“导出到 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)

python csv django excel reddit

1
推荐指数
1
解决办法
2748
查看次数

在节点中解码 Jwt 令牌 - 无需库

我有以下代码来解码 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)

javascript node.js express jwt

1
推荐指数
1
解决办法
1万
查看次数

jquery不会先加载

我的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(...)

html javascript jquery twitter-bootstrap

-1
推荐指数
1
解决办法
97
查看次数

从列表转换为字典列表

我有以下清单

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 list set python-3.x

-2
推荐指数
1
解决办法
72
查看次数