小编Gha*_*eak的帖子

使用 python3 打开 Web 浏览器时出现错误“tcgetpgrp failed: Not a tty”

以下是我的 Windows WSL 环境的细分:

  • 视窗11
  • WSL 版本 2
  • Ubuntu 版本 20.04.3 LTS
  • Python 3.8.10

我有一个超级简单的 Python 程序,用于在默认浏览器中打开网页。

这是我的代码:

import webbrowser

webbrowser.open('https://github.com')
Run Code Online (Sandbox Code Playgroud)

当我从终端运行此命令时,网页会按预期打开,但我也在终端中收到此错误:

tcgetpgrp failed: Not a tty

当我的终端显示此消息时,光标会向下移动到下一行,看起来好像进程已挂起或发生其他情况。为了能够使用终端,我必须Ctrl+C才能让它给我命令提示符。

我寻找答案,我能找到的所有内容都与使用 Jupyter 或 PHP 有关,但我没有使用它们中的任何一个,我只是使用普通的旧 Python 来尝试打开浏览器。

谁能告诉我这里的问题是什么以及如何解决这个问题/防止它发生?

python python-3.x python-webbrowser wsl-2

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

c# FileSystemWatcher Created 事件不会为创建的所有文件触发

我想将目录中创建的所有文件的文件信息插入数据库。如果我在目录中删除少量文件,我的程序将执行此操作,但如果我一次在目录中删除大量文件,则它不会获取所有文件(我没有进行大量测试,但它只插入了大约当我尝试一次将 800 个文件放入目录时,我的数据库中包含了 200 个名称)。

这是我的代码:

static void Main(string[] args)
{
    // Create a new FileSystemWatcher and set its properties.
    FileSystemWatcher watcher = new FileSystemWatcher();
    watcher.Path = @"C:\dropDirectory";

    // Add event handlers.
    watcher.Created += new FileSystemEventHandler(OnChanged);

    // Begin watching.
    watcher.EnableRaisingEvents = true;

    while(DateTime.Now.Hour < 10);
}

private static void OnChanged(object source, FileSystemEventArgs e)
{
    string strInsert = "INSERT INTO  Files (Filename) VALUES ('" + e.Name + "')";
    string strConnection = "Server = server_name; Database = database_name; User Id = user_id; …
Run Code Online (Sandbox Code Playgroud)

c# file-watcher

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

如何在 Visual Studio Code 中显示 ascii 不可打印字符?

我使用的是 Visual Studio Code 1.51.1 版,想知道在查看文件时是否有任何方法可以显示所有的 ascii 不可打印字符。我曾经使用 Notepad++,它有一个可以打开的功能,可以显示文件中的每个字符,包括不可打印的字符。

例如,这是在 Notepad++ 中打开的文件的屏幕截图,我BEL通过按插入了不可打印的字符ALT + 007。您还可以在行尾看到回车/换行符:

在此处输入图片说明

这是我所指的字符列表(我在这里找到了这个列表):

在此处输入图片说明

所以我要问的是有一个扩展我可以安装到 Visual Studio Code 或我可以配置的设置将显示所有 ascii 字符,包括可打印和不可打印,类似于 Notepad++ 如何做到这一点,如截图所示我假如?提前致谢。

ascii non-printing-characters visual-studio-code vscode-settings

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

MySQL返回不符合搜索条件的多行

我在本地安装了MySQL,运行时SELECT VERSION()返回此值:5.6.43-84.3

当我运行查询时,它只返回1行时返回多行。让我对其进行设置,以这种方式更容易解释。

  1. 创建一个测试表: CREATE TABLE test_table ( test_val VARCHAR(255) ) ;
  2. 将3个值加载到表中: INSERT INTO test_table (test_val) VALUES ('9671986020630615'), ('9671986020630616'), ('9671986020630617') ;
  3. 运行以下查询(此查询返回预期的1行): SELECT * FROMtest_table WHEREtest_val= '9671986020630615' ;

  4. 运行此查询(此查询返回3行,不应返回): SELECT * FROMtest_table WHEREtest_val= 9671986020630615 ;

这是我对这种情况的观察:

  1. 第一个查询WHERE用单引号将子句中的值引起来。
  2. 第二个查询不会在WHERE子句中的值周围包含单个tic。
  3. 测试表中的列定义为 VARCHAR(255)
  4. 有意义的是,第一个查询仅返回一行,因为它会将WHERE子句中的字符串与测试表(VARCHAR(255))中的字符串值进行比较
  5. 当MySQL将WHERE第二个查询子句中的数值与测试表(VARCHAR(255))中的字符串值进行比较时,发生了某种情况,这导致MySQL返回3行而不是仅返回1行。

第一个查询返回正确的结果是有意义的,因为它正在将字符串与字符串进行比较。

从某种意义上说,第二个查询正在返回错误的数据集(3行,而不是应该返回的1行)。

但是我的问题是为什么 MySQL会这样做?为什么当将一个数字与3个不同的VARCHAR(255)值进行比较时,如果WHERE子句中数值的真实值仅匹配1行,它会返回所有3行?

因此,实质上,对于第一个查询,MySQL就是这样说的:

'9671986020630615'='9671986020630615',

'9671986020630615'<>'9671986020630616',

'9671986020630615'<>'9671986020630617'

但是对于第二个查询,它说:

9671986020630615 ='9671986020630615', …

mysql floating-point precision comparison casting

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

Api PUT 请求显示为“已取消”,并显示错误消息“TypeError:无法获取”

这是一个奇怪的情况,我看过很多这样的问题,但没有什么比这更好的了。希望我能得到一些关于它的反馈

我正在现有应用程序中创建一个新网页,并尝试执行一个简单的PUTapi 调用,由于某种原因,它在 chrome 开发工具中的网络选项卡上显示状态cancelled。我正在访问的服务器是我本地计算机上的虚拟机。我可以从应用程序中的不同现有页面访问相同的端点,并且它运行得很好,所以我知道端点没有任何问题。这是一些屏幕截图:

Chrome 开发工具中的网络选项卡如下所示:

在此输入图像描述

这是当我点击“已取消”看跌期权时看到的内容:

在此输入图像描述

这是 Chrome 开发工具的控制台选项卡上显示的内容:

在此输入图像描述

需要注意的一件事是,在General右侧部分下的第二个屏幕截图中,没有列出Request MethodStatus Code或 的任何内容Remote Address,请参阅我之前提到的成功 api put 请求的屏幕截图以供参考:

在此输入图像描述

真正奇怪的是,我的数据库正在使用更新的数据进行更新,因此在某种程度上,即使显示PUT为已取消,它也在某种程度上起作用。

该调用源自我页面上的 vue 组件,如果这很重要的话,我的后端是 PHP 的。

这是我的 .js 文件中执行以下操作的调用PUT

return await SimpleService.put(`${app.API_URL}/matching/questions/${borrowerId}`,
    JSON.stringify(answerData), {contentType: 'application/json'})
Run Code Online (Sandbox Code Playgroud)

因此,我认识到,如果没有看到附加的所有代码,要求一个黑白分明的答案是不太现实的,但如果有人甚至可以给我一些要检查的想法,我将不胜感激。

我试图包含我能想到的所有内容,而不包含不必要的内容,但如果需要我提供任何其他信息来解决此问题,请告诉我。

javascript api

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