小编Lui*_*ñoz的帖子

在Python中使用MethodType的优点

MethodTypetypes模块使用有什么好处?您可以使用它向对象添加方法.但是如果没有它我们可以很容易地做到:

def func():
   print 1

class A:
   pass

obj = A()
obj.func = func
Run Code Online (Sandbox Code Playgroud)

即使我们func通过运行在主范围中删除它也可以工作del func.

为什么要使用MethodType?这只是一个约定还是一个好的编程习惯?

python oop methods monkeypatching

19
推荐指数
2
解决办法
6850
查看次数

使用二进制模式字符串从文件中删除行

我有两个文件.文件A包含以N行写入的文本,文件B包含二进制模式字符串0和1,其也具有N长度.

我想删除文件A中与文件B中包含0的行号相同的行.

我已经读过用awk做它可能是一个好主意,但我不知道如何使用它.

文件很长,例如2000行(它们是视频轨迹)

例如:

文件A:

Line 1: 123456
Line 2: 789012
Line 3: 345678
Line 4: 901234
Run Code Online (Sandbox Code Playgroud)

档案B:

Line 1: 1
Line 2: 0
Line 3: 0
Line 4: 1
Run Code Online (Sandbox Code Playgroud)

执行后:

文件A:

Line 1: 123456
Line 2: 901234
Run Code Online (Sandbox Code Playgroud)

bash shell awk grep

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

不要在shell中为vim自动完成文件名中的某些扩展

我注意到bash中bash完成的一个非常酷的功能.假设我有一个包含文件的目录

a.java
a.class
b.java
b.class
Run Code Online (Sandbox Code Playgroud)

如果我开始输入vim a Tab,bash将自动完成a.java.它知道我不想编辑a.class

我想知道它是如何实现这种行为的.在我的bash_completion.d目录中有一堆completion文件,但vim没有一个.如何vim实现此行为,以及如何修改它以包含要忽略的其他文件扩展名?

macos vim bash bash-completion

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

从 javac 或 JRE 获取没有编译类的 java 类版本

Java 类版本可以使用以下命令从类二进制文件中获取javap

javap -verbose Test | grep 'minor\|major'
  minor version: 0
  major version: 55
Run Code Online (Sandbox Code Playgroud)

是否可以提前知道 JDK 将生成哪个类版本? java -version不显示它

java -version
openjdk version "11.0.17" 2022-10-18
Run Code Online (Sandbox Code Playgroud)

通常与java.lang.UnsupportedClassVersionError相关。

java javac unsupported-class-version

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

为什么我的while循环中断

我无法弄清楚为什么我的while循环不会破坏它只是继续运行我尝试制作Lc 10并且我尝试返回但是没有任何东西会结束循环.

import java.util.Scanner;
public class BirthdayReminder
{

   public static void main (String[] args)
   {
      Scanner input = new Scanner(System.in);
      String[] BDay = new String[10];
      String[] friend = new String[10];
      int Lc = 0;
      String i;

      while(Lc < 10) {
            System.out.println("enter a friends name or zzz to quit");
            i = input.nextLine();
            if(i == "zzz") { 
                break;
            }
            else if(i != "zzz"){
            friend[Lc] = i;
            System.out.println("enter their birthday.");
            i = input.nextLine();
            BDay[Lc] = i;
            Lc++;
            return;
            }
      }
      System.out.println("hi");

   }
Run Code Online (Sandbox Code Playgroud)

}

java loops break while-loop

-1
推荐指数
1
解决办法
36
查看次数