小编Eri*_*ric的帖子

Git pull删除了未提交的更改

我刚刚在github上创建了一个新的存储库.从一个装满文件的文件夹开始,我所做的步骤是:

git init
git add -A
git remote add origin ...

#Now pull in the first commit that github made
git pull origin master

#Check everything is OK
ls
Run Code Online (Sandbox Code Playgroud)

伊克!我的所有文件都消失了!发生了什么?我能把它们还给他们吗?

git

6
推荐指数
3
解决办法
9370
查看次数

Windows上python应用程序的配置文件存放在哪里

我有一个必须在 Windows 和 Linux 上运行的 python 程序。我通常将一些配置选项存储在程序目录的子目录中的文件中。

对于 Windows,我将其转换为 exe 并为其创建了一个安装程序。现在我有处理配置文件的问题。

保存配置文件的最佳位置是什么?我已经读过对于 Windowsos.environ['APPDATA']+'myAppName'是必须使用的路径。这是正确的吗?它是标准的吗?它是否可以在所有版本的 Windows 中运行,至少从 XP 开始(至少在英语和西班牙语中)?

PD:我对使用 ConfigParser 不感兴趣。配置文件是我自己的格式,我有从中读取/写入的工作代码。

python windows

6
推荐指数
2
解决办法
3981
查看次数

将一个javascript文件导入到try catch块中的html文件中

我有一个html页面,我导入js文件如下

<script src="file.js" type="text/javascript" charset="utf-8"></script>
Run Code Online (Sandbox Code Playgroud)

但是如果这个文件无法运行它的脚本,整个页面显然会卡住

我可以将该文件导入try catch块吗?

谢谢

html javascript try-catch

6
推荐指数
2
解决办法
4237
查看次数

我可以在调用纯虚函数时禁用异常吗?

我有一些看起来像这样的代码:

class Writable {
public:
    virtual void putc(const char ch) = 0;
protected:
    virtual ~Writable() {};
};

class Readable {
public:
    virtual char getc() = 0;
protected:
    virtual ~Readable() {};
};
Run Code Online (Sandbox Code Playgroud)

注意两个虚函数.使用arm-none-eabi-gcc和链接编译它(以及我的其他代码)-fno-exceptions会产生以下输出:

arm-none-eabi-size  --format=berkeley bareCortexM.elf
   text    data     bss     dec     hex filename
 108948    2304    2372  113624   1bbd8 bareCortexM.elf
Run Code Online (Sandbox Code Playgroud)

使用方法存根替代纯虚函数再次运行它会产生:

arm-none-eabi-size  --format=berkeley bareCortexM.elf
   text    data     bss     dec     hex filename
  47340    2296     304   49940    c314 bareCortexM.elf
Run Code Online (Sandbox Code Playgroud)

这种巨大的差异似乎是由于例外.有什么方法可以防止这种情况发生吗?

c++ gcc

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

QT复制到QTemporaryFile

我想制作一份some/path/myfilein 的副本$TMPDIR/myprog-<random-string>.ext,这样我就可以将它传递给第三方程序,该程序会阻塞无扩展文件.

这是我想要的工作:

QString originalPath = "some/path/myfile";

QTemporaryFile f(
    QDir::temp().absoluteFilePath("mprog-XXXXXX.ext")
);

// f.open(); ?

QFile(originalPath).copy(f.fileName());
Run Code Online (Sandbox Code Playgroud)

但是,我现在有一个问题 - 文件尚未存在,因此尚未分配临时fileName()文件,或文件名已分配,但文件本身已存在,阻止新文件被复制到顶部.

如何在QT中将文件复制到临时位置,并在调用QTemporaryFile的析构函数时删除临时副本?

c++ qt temporary-files

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

python docs中的哪个地方允许`in`运算符被链接?

我最近发现以下内容True:

'a' in 'ab' in 'abc'
Run Code Online (Sandbox Code Playgroud)

我知道python比较链接这样的a < b < c,但我在文档中看不到有关这是合法的.

这是CPython实现中的偶然特性,还是指定了这种行为?

python operators comparison-operators

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

在std :: vector的std :: vector中找到一个元素

我想检查向量中是否存在元素。我知道下面的代码将对其进行检查。

#include <algorithm>

if ( std::find(vector.begin(), vector.end(), item) != vector.end() )
   std::cout << "found";
else
   std::cout << "not found";
Run Code Online (Sandbox Code Playgroud)

但是我有任何类型的向量。即std::vector<std::any> 我将元素推入这样的向量中。

std::vector<std::any> temp;
temp.emplace_back(std::string("A"));
temp.emplace_back(10);
temp.emplace_back(3.14f);
Run Code Online (Sandbox Code Playgroud)

因此,我需要查找向量中是否存在字符串“ A”。std :: find可以在这里帮助吗?

截至目前,我正在使用下面的代码来做到这一点

bool isItemPresentInAnyVector(std::vector<std::any> items, std::any item)
{
    for (const auto& it : items)
    {
        if (it.type() == typeid(std::string) && item.type() == typeid(std::string))
        {
            std::string strVecItem = std::any_cast<std::string>(it);
            std::string strItem = std::any_cast<std::string>(item);

            if (strVecItem.compare(strItem) == 0)
                return true;
        }
        else if (it.type() == typeid(int) && item.type() == typeid(int))
        {
            int …
Run Code Online (Sandbox Code Playgroud)

c++ c++17 stdany

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

如何在python中隐藏__methods__?

我只是想知道,如何隐藏特殊

__.*__ 
Run Code Online (Sandbox Code Playgroud)

python*中的方法?特别是我正在使用带tab-completion的交互式python解释器,我想只显示我的模块公开的方法...

谢谢,

/ myyn /

*(至少来自使用python shell的用户)


现在看起来像这样:

h[2] >>> Q.
Q.ALL(                       Q.__delattr__(               Q.__getattribute__(                
Q.__package__                Q.__sizeof__(                Q.find_values(                         
Q.json
Q.DEFAULT_CONDITION(         Q.__dict__                   Q.__hash__(                  
Q.__reduce__(                Q.__str__(                   Q.get_loops_total_platform(  
Q.jsonlib
Q.SUCCESSFUL(                Q.__doc__                    Q.__init__(                  
Q.__reduce_ex__(             Q.__subclasshook__(          Q.get_platforms(             
Q.memoize(
Q.__all__                    Q.__file__                   Q.__name__                     
Q.__repr__(                  Q.cached_open(               Q.get_snippets(              
Q.__class__(                 Q.__format__(                Q.__new__(                      
Q.__setattr__(               Q.find_results(              Q.get_subjects(              
h[2] >>> Q.
Run Code Online (Sandbox Code Playgroud)

我希望它看起来像:

h[2] >>> Q.
Q.ALL(                       Q.find_values(               Q.json
Q.DEFAULT_CONDITION(         Q.get_loops_total_platform(  
Q.jsonlib                    Q.SUCCESSFUL(                Q.get_platforms(             
Q.memoize(                   Q.cached_open(               Q.get_snippets(              
Q.find_results(              Q.get_subjects(              
h[2] >>> Q.
Run Code Online (Sandbox Code Playgroud)

python facade hide magic-methods

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

如何使用派生类中的属性覆盖基类中的字段?

我有一个使用字段的基类:

class Base(object):
    def __init__(self, member):
        self.member = member
Run Code Online (Sandbox Code Playgroud)

以及想要将其提升为属性并添加一些行为的派生类:

class Derived(Base):
    @property
    def member(self):
        return super(Derived, self).member

    @member.setter
    def member(self, value):
        print "intercepting setter"
        super(Derived, self).member = value
Run Code Online (Sandbox Code Playgroud)

但是,这并没有正确地委托给基类:

>>> d = Derived(0)
intercepting setter

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    d = Derived(0)
  File "<pyshell#3>", line 3, in __init__
    self.member = 2
  File "<pyshell#6>", line 9, in member
    super(Derived, self).member = value
AttributeError: 'super' object has no attribute 'member'
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

python overriding properties

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

为什么通过显式构造函数提升整数?

这段代码

#include <cstdint>

constexpr uint32_t ticksPerSecond = 100000;

struct timemeasure {
    constexpr explicit timemeasure(uint64_t c) : ticks(c) { }
    uint64_t ticks;
    constexpr timemeasure() : ticks(0) { }
};

struct time : timemeasure {
    static volatile time now;

    constexpr time() : timemeasure() { }
    explicit time(uint64_t c) : timemeasure(c) { }

    // Needed for `x = time::now`
    explicit time(const volatile time &t) : timemeasure(t.ticks) { }
    time& operator=(volatile time t) { ticks = t.ticks; return *this; }
};

inline time foo(const …
Run Code Online (Sandbox Code Playgroud)

c++ overload-resolution

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