小编Sam*_*Sam的帖子

python 2代码:if python 3 then sys.exit()

我有一大块Python 2代码.它想在开始时检查Python 3,如果使用python3则退出.所以我尝试过:

import sys

if sys.version_info >= (3,0):
    print("Sorry, requires Python 2.x, not Python 3.x")
    sys.exit(1)

print "Here comes a lot of pure Python 2.x stuff ..."
### a lot of python2 code, not just print statements follows
Run Code Online (Sandbox Code Playgroud)

但是,退出不会发生.输出是:

$ python3 testing.py 
  File "testing.py", line 8
        print "Here comes a lot of pure Python 2.x stuff ..."
                                                        ^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)

因此,看起来python 在执行任何操作之前检查整个代码,因此错误.

有没有一个很好的方法让python2代码检查正在使用的python3,如果是这样打印一些友好的东西,然后退出?

python python-2.x python-3.x

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

为什么C#中的事件需要(sender,EventArgs)?

众所周知,您应该声明作为参数的事件(object sender, EventArgs args).为什么?

.net c# events

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

如何删除void指针?

在C++中删除这样的对象有什么不对吗?

MyCls* c = new MyCls();
void* p = (void*)c;
delete (MyCls*)p;
Run Code Online (Sandbox Code Playgroud)

c++ pointers void delete-operator

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

计算nvarchar列中的字符数

有谁知道在Sql Server的文本(nvarchar)列中计算字符的好方法?那里的值可以是文本,符号和/或数字.

到目前为止我用过sum(datalength(column))/2但这仅适用于文本.(这是一种基于数据长度的方法,这可以因类型而异).

sql sql-server-2008 datalength

34
推荐指数
4
解决办法
22万
查看次数

网站已被SQL注入攻击

最近我的网站被SQL注入攻击.黑客使用以下查询来获取我的数据库名称.我无法理解他们写的这个查询.

查询:

=-999.9%20UNION%20ALL%20SELECT%20concat(0x7e,0x27,Hex(cast(database()%20as%20char)),0x27,0x7e),0x31303235343830303536,0x31303235343830303536,0x31303235343830303536--
Run Code Online (Sandbox Code Playgroud)

查询运行后显示整数结果,如" 74545883".

你能解释一下查询是如何工作的吗?

mysql sql-injection

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

string.c_str()需要解除分配吗?

我的代码经常将C++字符串转换为CStrings,我想知道原始字符串是否在堆栈上分配,CString也会在堆栈上分配吗?例如:

string s = "Hello world";
char* s2 = s.c_str();
Run Code Online (Sandbox Code Playgroud)

s2在堆栈上还是在堆中分配?换句话说,我需要删除s2吗?

相反,如果我有这个代码:

string s = new string("Hello, mr. heap...");
char* s2 = s.c_str();
Run Code Online (Sandbox Code Playgroud)

请问s2现在在堆中,因为它的起源是在堆上?

为了澄清,当我询问是否s2在堆上时,我知道指针在堆栈上.我问的是它指向堆或堆栈的内容.

c++ string heap stack memory-management

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

使用BASH或awk或sed或其他方法删除文件的前两行

我试图删除文件的前两行,只是不打印到另一个文件.我不是在寻找一些奇特的东西.这是我在awk的尝试(失败):

awk '{ (NR > 2) {print} }' myfile
Run Code Online (Sandbox Code Playgroud)

抛出以下错误:

awk: { NR > 2 {print} }
awk:          ^ syntax error
Run Code Online (Sandbox Code Playgroud)

例:

'myfile'的内容:

blah
blahsdfsj
1 
2
3
4
Run Code Online (Sandbox Code Playgroud)

我想要的结果是:

1
2
3
4
Run Code Online (Sandbox Code Playgroud)

bash awk sed lines

33
推荐指数
4
解决办法
7万
查看次数

PHP:删除文件夹的最简单方法(包括其内容)

rmdir()如果文件夹包含任何文件,则该函数将失败.我可以循环遍历目录中的所有文件,如下所示:

foreach (scandir($dir) as $item) {
    if ($item == '.' || $item == '..') continue;
    unlink($dir.DIRECTORY_SEPARATOR.$item);
}
rmdir($dir);
Run Code Online (Sandbox Code Playgroud)

有没有办法一次性删除它?

php file-io delete-directory

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

从Java中删除ArrayList中的对象

ArrayList如果它们符合条件,我需要删除一些对象,我想知道哪种方式可以更有效.

这是情况:我有一个ArrayList包含一些其他对象的类.我必须迭代这个ArrayList并删除满足特定条件的所有元素.据我所知,这些将是我删除的选项:

  1. 创建一个新的ArrayList并添加不符合条件的元素.在迭代之后,从旧的arraylist交换到没有元素的新arraylist.

  2. 创建一个新的ArrayList并添加符合条件的元素.在迭代之后,使用removeAll()传递ArrayList包含要删除的对象的方法.

是否有更有效的方法从ArrayList?删除对象?

java performance memory-management arraylist

32
推荐指数
4
解决办法
13万
查看次数

Android检查用户之前登录,否则启动登录活动

我希望登录活动在用户启动应用程序但尚未登录之前启动.如果之前已成功完成登录,则应用程序将跳过登录页面并移至MainMenu.java.我现在拥有的是:

    public class Login extends Activity implements OnClickListener, TaskCompleteCallback{

     first_time_check();

...
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.configure);

    ...}

private boolean first_time_check() {    
    String first = mPreferences.getString("first", null);
        if((first == null)){
            Intent i = new Intent(Login.this, MainMenu.class);
             startActivity(i);
        }
        return false;
    }

...
        SharedPreferences.Editor editor = mPreferences.edit();
        editor.putString("first", value);
    ...

        editor.commit();        

        // Close the activity
        Intent i = new Intent(Login.this, MainMenu.class);
         startActivity(i);
    }           
Run Code Online (Sandbox Code Playgroud)

但是我得到了FCs.我是如何实现SharedPreferences的?

android login

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