小编Sim*_*son的帖子

打开文件(Tkinter)

我试图制作一个可以打开文件的Tkinter程序到目前为止它打开一个tk窗口,其中有一个选项,说文件然后是一个下拉菜单,当你点击它打开一个文件窗口但是我无法弄清楚它打开如何实际打开该文件

这是我尝试的代码:

from Tkinter import *
from tkFileDialog import askopenfilename
def openfile():

   filename = askopenfilename(parent=root)
   f = open(filename)
   f.read()

root = Tk()
menubar = Menu(root)
filemenu = Menu(menubar, tearoff=0)
filemenu.add_command(label="Open", command=openfile)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=root.quit)
menubar.add_cascade(label="File", menu=filemenu)

root.config(menu=menubar)
root.mainloop()
Run Code Online (Sandbox Code Playgroud)

这是窗口的样子

python tkinter openfiledialog

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

如何使用TortoiseGit为两个GitLab帐户设置两个SSH密钥并推/拉?

目前我使用GitLab作为我的远程GIT服务器.
使用分配了SSH密钥的单个Gitlab帐户我没有问题.

但现在我应用了另一个Gitlab帐户,我正在尝试使用相同的SSH密钥,但我无法将密钥添加到这个新帐户.
当我尝试添加密钥时,错误如下:

钥匙已经被采取
指纹已经采取

那么我应该如何使用相同的密钥访问第二个Gitlab帐户呢?如果不可能,我应该如何同时使用两个键.

顺便说一句,我正在使用Windows系统.

提前致谢!!

================================================== =================更新:

下面是我的配置文件.它如下:

#my primary account
Host {account1}
    User git
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile C:/Users/{username}/.ssh/id_rsa1

#for NPR_HPTG account
Host {account2}
    User git
    HostName gitlab.com
    PreferredAuthentications publickey
    IdentityFile C:/Users/{username}/.ssh/id_rsa2
Run Code Online (Sandbox Code Playgroud)

我有两个Gitlab帐户,

git@gitlab.com:{account_1}/repo1.git
git@gitlab.com:{account_2}/repo1.git
Run Code Online (Sandbox Code Playgroud)

不过,我无法访问account_2.

以前,在我拥有第二个GitLab帐户之前,我只需将ssh密钥上传到account1不需要设置This.但是现在通过这样,仍然,最终我可以推动git@gitlab.com:{account_2}/repo1.git.我正在使用TortoiseGit推/拉.

git ssh key tortoisegit gitlab

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

从 RecyclerView 中删除项目

当我从 RecycerView 的列表中删除项目时遇到问题。我想做以下功能。当我按下 RecycerView 列表中的复选框时,该项目将从列表中删除。基本上,当我按下一些顶部/底部复选框时,这是有效的,但是当我按下中间的一些复选框时,我什至没有触摸它们,其他复选框就被标记为“已选中”。我不知道这个问题从何而来。

在此输入图像描述

这是我的适配器中的代码:

public class ShoppingListAdapter extends RecyclerView.Adapter<ShoppingListAdapter.ShoppingListViewHolder> {
private ArrayList<Item> mItems;
private Context mContext;

public ShoppingListAdapter(Context context, ArrayList<Item> items) {
    mItems = items;
    mContext = context;
}

@Override
public ShoppingListViewHolder onCreateViewHolder(ViewGroup viewGroup, int position) {
    View view = LayoutInflater.from(mContext).inflate(R.layout.shopping_list_item,viewGroup,false);
    ShoppingListViewHolder viewHolder = new ShoppingListViewHolder(view);

    return viewHolder;
}

@Override
public void onBindViewHolder(ShoppingListViewHolder shoppingListViewHolder, int position) {
    shoppingListViewHolder.bindShoppingList(mItems.get(position));
}

@Override
public int getItemCount() {
    return mItems.size();
}

public class ShoppingListViewHolder extends RecyclerView.ViewHolder implements CompoundButton.OnCheckedChangeListener{
    public TextView mShoppingListItem;
    public …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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

项目签名的类型中不允许使用类型占位符 `_`

初学者问题;并且搜索找不到任何类似的东西。

背景:我只是通过创建改组函数来练习 Rust 中的函数。程序接受任何参数并将它们打乱并将它们存储在“ result”中

问题:我想我不能V<_>在函数头中使用,那么在这种情况下我会使用什么?

MCVE:

use std::io;
use std::cmp::Ordering;
use std::env;

fn main()
{
    let mut result = shuffle(env::args().collect());
}//End of main

fn shuffle(args: Vec<_>) -> Vec<_>
{ 
    let mut temp = Vec::with_capacity((args.capacity()));
    while args.len() > 1 
    {
        //LET N REPRESENT A RANDOM NUMBER GENERATED ON EACH ITERATION
        let mut n = 2;
        temp.push(args.swap_remove(n));
    }
    return temp;
}//End of shuffle function
Run Code Online (Sandbox Code Playgroud)

游乐场链接

vector placeholder rust

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

为什么VS code中的问题匹配器不起作用?

为什么我的problemMatcher不起作用?我非常肯定正则表达式,但它没有报告任何问题,即使有一些关于stdout ......

// the matcher
"problemMatcher": {
    "owner": "typescript",
    "fileLocation": ["relative", "${workspaceRoot}"],
    "pattern": {
        "regexp": "^TypeScript (warning|error): (.*)\\((\\d+),(\\d+)\\): (.*)$",
        "severity": 1,
        "file": 2,
        "line": 3,
        "column": 4,
        "message": 5
    }
}

//the browserify/tsify pipeline
browserify().add('main.ts')
  .plugin(tsify, { noImplicitAny: false, removeComments:true })
  .transform("babelify",{ extensions: ['.ts'], presets: ["es2015"]})
  .bundle()
  .on('error', function (error) { console.log(error.toString()); })
  .pipe(source('bundle.js'))
  .pipe(gulp.dest('www/js/dist/'));

//gulp sample output
[00:39:00] Starting 'ts-compile'...
TypeScript error: main.ts(118,30): Error TS2339: Property 'object' does not exist on type 'boolean'.
TypeScript error: main.ts(137,24): Error TS2339: Property …
Run Code Online (Sandbox Code Playgroud)

regex gulp visual-studio-code tsify vscode-problem-matcher

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

Symfony和Docker - 缓存和日志目录权限

我正在尝试使用docker设置Symfony项目,但总是给出与"cache"目录中的权限相关的错误.

我已经尝试了一切,我似乎无法找到解决方案.问题是以某种方式缓存文件夹是用"root"所有者创建的,即使我的服务器和php-fpm用户设置为www-data.也许是因为php-cli用户?

我试过: - setfacl:不使用docker - chown/chmod到www-data:也没用.它可能会在开始时正确地更改所有者,但它们会在其他地方出错.

泊坞窗,compose.yml

app:
  build: .
  command: "tail -f /dev/null" # keep the application container running
  links:
      - mysql
  volumes:
    - .:/var/www

nginx:
  build: docker/nginx/
  ports:
    - 8090:80
  links:
    - php-fpm
  volumes_from:
    - app

php-fpm:
  build: docker/fpm
  ports:
    - 9000:9000
  volumes_from:
    - app

mysql:
  image: mysql:5.7
  volumes:
     - ./docker/data/mysql:/var/lib/mysql
Run Code Online (Sandbox Code Playgroud)

我的app Dockerfile:

FROM php:5.6-cli

ENV DEBIAN_FRONTEND noninteractive

RUN apt-get update && apt-get install -y \
    git \
    vim \
    curl \
    php5-json \
    php5-intl \
    php5-mcrypt …
Run Code Online (Sandbox Code Playgroud)

php file-permissions symfony docker docker-compose

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

无法从字段名称有双下划线的 django 查询

无法从 django 查询字段名称有双下划线的地方。这是因为在 django 中查询语言__有其自身的含义

那么如何查询实际名称为 的字段"my__fyeild__name"呢?

template.fields.filter(my__fyeild__name="aaa")
Run Code Online (Sandbox Code Playgroud)

在数据库中,该列的名称带有两个下划线__,我不允许重命名该列。

django django-models django-orm

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

如何显示跟踪事件的行号和文件?

如何使用跟踪line!跟踪file!订阅者打印来源和跟踪日志

我正在使用的代码准备充分,包含大量日志打印,这很好,但其中大多数都不是很有描述性:

# Cargo.toml
[dependencies]
tracing = "0.1.35"
tracing-subscriber = "0.3.11"
Run Code Online (Sandbox Code Playgroud)
tracing_subscriber::fmt::init();

// ...

if let Err(e) = important_work.await {
    tracing::info!(" {:?}", &e);
};
Run Code Online (Sandbox Code Playgroud)

并且控制台仅打印显示模块和错误消息,而不打印代码失败的位置。当我将其替换为:

pub struct CustomLayer;

impl<S> Layer<S> for CustomLayer
where
    S: tracing::Subscriber,
{
    fn on_event(
        &self,
        event: &tracing::Event<'_>,
        _ctx: tracing_subscriber::layer::Context<'_, S>,
    ) {
         println!("{level}  name={:?}", event.metadata().name());
         for field in event.fields() {
            println!("  field={}", field);
         }
      }
}

   // Snip to main()

   tracing_subscriber::registry().with(CustomLayer).init();
Run Code Online (Sandbox Code Playgroud)

我能够获取文件和行event.metadata().name()),但随后所有错误消息都变成字符串“message”。可能有一种更简单的方法可以打印行号。

rust rust-tracing

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

如何验证用户输入的月份输入日期?

我正在编写一个程序来验证用户输入的格式为 1900 年 1 月 1 日的日期输入。我编写了代码来验证每个月的闰年和日限制,但我无法验证每个月的文本输入。

这是代码中尚未运行的部分;字符串条目的验证,以便除 Jan、Feb、Mar、Apr 之外的任何用户输入.......Dec 将抛出错误“错误的条目,请输入有效日期”

  if (( month != "Jan" || month != "Feb" || month != "Mar" || month != "Apr" 
     || month != "May" || month != "Jun" || month != "Jul" || month != "Aug" 
     || month != "Sep" || month != "Oct" || month != "Nov" || month != "Dec"))    
  {
      std::cout << "Wrong entry, please enter valid date." << std::endl;
  }
  else
  {
      std::cout << day << " " …
Run Code Online (Sandbox Code Playgroud)

c++ validation user-input date

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

如何在 Julia 中实现 SingleLinkedList

我正在学习 TAD 但是,我不太了解语法,这就是为什么我很难创建单个列表,但我理解它是如何工作的,例如 TAD,请有人能告诉我如何实现这一点TAD(链表),带有基本说明和描述

abstract type AbstractList{T} end
abstract type AbstractNode{T} end

mutable struct Nodo{T} <: AbstractNode{T}
    value ::T
    next ::Nodo{T}
    Nodo{T}() where T =(x=new();x;x.next=x)
    Nodo{T}(v,n) where T =new(v,n)
end

mutable struct LList{T} <: AbstractList{T}
    first ::Nodo{T}
    LList{T}() where T =new(Nodo{T}())
end

Lista=LList;

function Append(lista,value)
    current=Nodo(value,new(Nodo()))
    if Lista.size==0
        lista.head=current
    else
        MyNode=Lista.first;
        while MyNode.next!=nothing
            MyNode=MyNode.next;
        MyNode.next=current;
        end
    end
    Lista.size+=1
end

Append(Lista,2)
Run Code Online (Sandbox Code Playgroud)

我正在尝试这个,但我不知道为什么它不起作用,我很困惑,因为我阅读了很多关于我使用的说明的帖子,但我根本不理解Nodo{T}() where T =(x=new();x;x.next=x)这个说明,我需要帮助。

julia

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