小编Inc*_*tic的帖子

如何在不知道哪个更大的情况下找到两个值之间的差异?

我想知道是否有一个内置于Python中的函数可以确定两个有理数之间的距离,但我没有告诉它哪个数字更大.例如

>>>distance(6,3)
3
>>>distance(3,6)
3
Run Code Online (Sandbox Code Playgroud)

显然我可以写一个简单的定义来计算哪个更大然后只做一个简单的减法:

def distance(x, y):
    if x >= y:
        result = x - y
    else:
        result = y - x
    return result
Run Code Online (Sandbox Code Playgroud)

但我宁愿不必调用这样的自定义函数.根据我有限的经验,我经常发现Python有一个内置函数或一个模块,它可以完全按照您的需要执行,并且比代码更快.希望有人能告诉我有一个内置功能可以做到这一点.

python numbers function distance

38
推荐指数
4
解决办法
8万
查看次数

在Xcode中当前活动选项卡旁边打开新选项卡

当您在Xcode中点击CMD+ T它将打开新选项卡但在最后一个位置时,如何更改此行为以便能够在当前活动选项卡旁边打开新选项卡

macos xcode

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

如何在文件的行和列位置插入文本?

我想在文件中特定行的特定列插入一个字符串.

假设我有一个文件 file.txt

How was the English test?
How was the Math test?
How was the Chemistry test?
How was the test?
Run Code Online (Sandbox Code Playgroud)

我想How was the History test?通过History在第4行第13列添加字符串来更改最后一行.

目前我读取文件的每一行并将字符串添加到指定的位置.

with open("file.txt", "r+") as f:
    # Read entire file
    lines = f.readlines()

    # Update line
    lino = 4 - 1
    colno = 13 -1
    lines[lino] = lines[lino][:colno] + "History " + lines[lino][colno:]

    # Rewrite file
    f.seek(0)
    for line in lines:
        f.write(line)
    f.truncate()
    f.close()
Run Code Online (Sandbox Code Playgroud)

但我觉得我应该能够简单地将行添加到文件中,而无需读取和重写整个文件.

python python-3.x

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

使用Python从AWS S3下载文件

我正在尝试使用以下代码从Amazon S3存储桶下载文件到我的本地,但是我收到错误消息"无法找到凭据"

以下是我编写的代码:

from boto3.session import Session
import boto3

ACCESS_KEY = 'ABC'
SECRET_KEY = 'XYZ'

session = Session(aws_access_key_id=ACCESS_KEY,
              aws_secret_access_key=SECRET_KEY)
s3 = session.resource('s3')
your_bucket = s3.Bucket('bucket_name')

for s3_file in your_bucket.objects.all():
    print(s3_file.key) # prints the contents of bucket

s3 = boto3.client ('s3')

s3.download_file('your_bucket','k.png','/Users/username/Desktop/k.png')
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我这个.谢谢.

download amazon-s3 python-3.x boto3

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

为什么我在将 Wasm 捆绑在一起后收到错误“响应具有不受支持的 MIME 类型”,但在使用 webpack 开发服务器时却没有?

我正在尝试制作一个 Rust WebAssembly 项目并修改了rust-webpack-template作为我的起点。该模板是一个带有 JavaScript 文件的 webpack 项目,该文件调用单个 Wasm 函数,Rust Wasm 从那里接管。

我修改了模板,因为我想在 JavaScript 中使用我的主要逻辑并通过 API 调用 Rust Wasm。

我已将 webpack 条目更改为bootstrap.js如下所示。

// bootstrap.js
import("./index.js").catch(e => 
    console.error("Error importing 'index.js':", e)
);
Run Code Online (Sandbox Code Playgroud)

我添加了文件index.js,它调用了 Rust Wasm 函数

// index.js
import * as wasm from "../crate/pkg/rust_webpack";

const title = document.getElementById("msg");

title.innerText = wasm.get_msg();
Run Code Online (Sandbox Code Playgroud)

get_msgRust的函数如下所示:

#[wasm_bindgen]
pub fn get_msg() -> String {
    "Hello from Rust WebAssembly!".to_owned()
}
Run Code Online (Sandbox Code Playgroud)

当我使用 运行项目时webpack-dev-server -d,一切正常。

但是,当我使用构建项目webpack并尝试直接托管生成的文件时,没有显示任何内容并且浏览器控制台显示错误:

导入“index.js”时出错:TypeError:“响应具有不受支持的 MIME …

javascript rust webpack webassembly

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

VSCode 远程容器 - 错误:ENOSPC:设备上没有剩余空间

我已经使用VSCode 远程容器插件有一段时间了,没有出现任何问题。但是今天,当我尝试打开我的项目时,远程容器无法打开,并出现以下错误:

Command failed: docker exec -w /home/vscode/.vscode-server/bin/9833dd88 24d0faab /bin/sh -c echo 34503 >.devport
rejected promise not handled within 1 second: Error: ENOSPC: no space left on device, mkdir '/home/vscode/.vscode-server/data/logs/20191209T160810
Run Code Online (Sandbox Code Playgroud)

看起来容器的磁盘空间不足,但我不知道如何添加更多空间。

经过进一步检查,我有点困惑。df当我从容器中运行时,它显示我已使用60G磁盘空间,但根目录的大小仅为 ~ 9G

$ df
Filesystem      Size  Used Avail Use% Mounted on
overlay          63G   61G     0 100% /
tmpfs            64M     0   64M   0% /dev
tmpfs           7.4G     0  7.4G   0% /sys/fs/cgroup
shm              64M     0   64M   0% /dev/shm
/dev/sda1        63G   61G     0 100% /etc/hosts …
Run Code Online (Sandbox Code Playgroud)

docker visual-studio-code vscode-remote

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

导入tensorflow 1.7时Python内核死亡

我想使用tensorflow insinde Jupyter笔记本.但是,跑步

import tensorflow as tf
Run Code Online (Sandbox Code Playgroud)

在Jupyter笔记本中立即触发弹出窗口:

内核似乎已经死了.它会自动重启.

此问题仅在更新为tensorflow 1.7后才开始.我没有使用tensorflow几周,所以它也可能是由于使用Python 3.6更新了anaconda 5.1.

我使用2010年中期的MacBookPro和"High Sierra 10.13.4".使用Python 3.6删除并重新安装anaconda 5.1,然后通过安装tensorflow(而不是单个其他库)

pip3 install --upgrade tensorflow
Run Code Online (Sandbox Code Playgroud)

没有解决问题.我不使用孤立的环境."anaconda3"文件夹不在我的主文件夹中,而是直接在"Macintosh HD"中.

在重新安装anaconda之前,我通过这些说明https://docs.anaconda.com/anaconda/install/uninstall删除了它 .我也没有尝试在Jupyter外面运行张量流,只是因为我不知道如何.但即使我这样做,我仍然想使用Jupyter.

python anaconda tensorflow jupyter-notebook

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

使用discordgo发送私信

我想通过私人消息对公共频道中的消息进行不和谐机器人回复.

我可以使用FAQ中的以下代码检测通道是否为私有通道:

func isTheChannelTheMessageWasSentInPrivate(s *discordgo.Session, m *discordgo.MessageCreate) {
    channel, err := s.State.Channel(m.ChannelID)
    if err != nil {
        astilog.Fatal(err)
        return
    } else if m.Author.ID == s.State.User.ID {
        return
    }
    channelIsPrivate := strconv.FormatBool(channel.IsPrivate)
    print("Channel ID: " + m.ChannelID + ". Is it private? " + channelIsPrivate + "\n")
}
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码回复收到的同一频道上的消息:

func recieveMessage(s *discordgo.Session, m *discordgo.MessageCreate) {
    s.ChannelMessageSend(m.ChannelID, "Reply!")
}
Run Code Online (Sandbox Code Playgroud)

但我无法想象如何ChannelIDMessage接收消息时可用的对象获取用户的直接消息通道.

go discord

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

竞争条件也可能出现在传统的单线程程序中 - Clarity

在过去的几个月里,我已经阅读了几本关于并行编程的书籍,我决定通过学习posix线程来关闭它.

我正在阅读" PThreads编程 - 更好的多处理坚果壳手册的Posix标准 ".在第5章(Pthreads和Unix)中,作者讨论了在多线程程序中处理信号.在" Threadsafe库函数和系统调用 "一节中,作者发表了一篇声明,我在大多数书中都没有看到我读过并行编程.声明是:

竞争条件也可能发生在使用信号处理程序或递归调用例程的传统单线程程序中.这种单线程程序在其进程栈上的各种调用帧中可能具有相同的例程.

我觉得破译这句话有点乏味.当递归函数使用静态存储类型保持内部结构时,是否会出现递归函数中的竞争条件?

我也很想知道信号处理程序如何在单个线程程序中引起比赛条件

注意:我不是计算机科学专业的学生,​​我真的很感谢简化术语

c multithreading pthreads

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

如何使用discordgo获取所有频道的列表?

我想使用机器人在我的私人discord服务器的所有文本频道上发送消息.

我已连接并且可以有一个Session对象,但我不知道如何从中获取所有可用频道的列表Session.

dg, err := discordgo.New("Bot " + Token)
if err != nil {
    fmt.Println("error creating Discord session,", err)
    return
}

// Open a websocket connection to Discord and begin listening.
err = dg.Open()
if err != nil {
    fmt.Println("error opening connection,", err)
    return
}

// Get all channel ID's from dg here
Run Code Online (Sandbox Code Playgroud)

这与discord API有关吗?

go discord

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