小编Joh*_*now的帖子

在Linux中使用Python检查打开的文件

您好我正在寻找一种方法来确定使用Python在我的整个系统(Linux)中打开哪些文件.我找不到任何这样做的模块.

或者也许唯一的方法是使用命令lsof?

谢谢!

python linux lsof

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

使用 python 从 try 跳转到 except

我搜索中断 try 并进入 except 的方法(此示例在中断行中有一个语法错误)

def fool():
    return 0

try:
    var = fool()
    if var == 0:
        pass  # from here jump to except 
except:
    fool2()
Run Code Online (Sandbox Code Playgroud)

我想到的另一种方式是:

var = fool()
if var == 0:
     fool2()
Run Code Online (Sandbox Code Playgroud)

另一个更Pythonic的解决方案?

python try-catch break

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

Python中的Splitlines是一个带空格的表

通过一个命令linux(lsof),我在表中获得了一系列数据:

COMMAND     PID       USER   FD      TYPE DEVICE  SIZE/OFF   NODE NAME
init          1       root  cwd   unknown                         /proc/1/cwd (readlink: Permission denied)
init          1       root  rtd   unknown                         /proc/1/root (readlink: Permission denied)
python    30077      user1  txt       REG    8,1   2617520 461619 /usr/bin/python2.6
Run Code Online (Sandbox Code Playgroud)

正如我们可以看到一些地方是空的,我正在寻找将每个单元格分成一个列表(每行一个列表)的方法,我试着用这种方式:

lsof_list = commands.getoutput('lsof | sed \'1d\'')
k = 1
list_lsof = {}

j = 1
apps = {}

for line in lsof_list.splitlines():
    list_lsof[k] = line
    print(list_lsof[k])
    for apps[j] in list_lsof[k].split():
        #print(' app ', list_lsof[j])
        j += 1
        #print(apps[k])

        if j == 9: …
Run Code Online (Sandbox Code Playgroud)

python linux split

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

在linux中更改lsof中的输出

我想用lsof获得不同的结果,我的意思是只想显示一些列,是否可能?

COMMAND     PID       USER   FD      TYPE             DEVICE  SIZE/OFF       NODE NAME
init          1       root  cwd       DIR                8,1      4096          2 /
init          1       root  rtd       DIR                8,1      4096          2 /
init          1       root  txt       REG                8,1     36992     139325 /sbin/init
init          1       root  mem       REG                8,1     14696     190970 /lib/libdl-2.11.3.so
init          1       root  mem       REG                8,1   1437064     190958 /lib/libc-2.11.3.so
Run Code Online (Sandbox Code Playgroud)

linux lsof

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

标签 统计

linux ×3

python ×3

lsof ×2

break ×1

split ×1

try-catch ×1