小编eli*_*eac的帖子

如何在Python中创建编程语言

我已经看过许多用于编写编程语言的教程,但很少用Python编写.我想知道如何(相对容易地)使用Python创建编程语言.

python programming-languages

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

在新的控制台窗口中打开Python线程

我正在尝试创建一个程序,它将启动视图窗口(控制台)和命令行.在视图窗口中,它将显示常量更新,而命令行窗口将用于raw_input()接受影响视图窗口的命令.我正在考虑使用线程,但我不知道如何在新的控制台窗口中启动线程.我该怎么办?

python linux windows multithreading python-multithreading

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

如何使用shelve实现Python虚拟文件系统

我已经设置了一个模拟操作系统的Python脚本.它有一个命令提示符和一个虚拟文件系统.我正在使用shelve模块来模拟文件系统,它是多维的,以支持目录层次结构.但是,我无法实现'cd'命令.我不知道如何进出目录,即使我在第一次启动程序时创建了一小组目录.这是我的代码:

import shelve

fs = shelve.open('filesystem.fs')
directory = 'root'
raw_dir = None
est_dir = None

def install(fs):
    fs['System'] = {}
    fs['Users'] = {}
    username = raw_input('What do you want your username to be? ')
    fs['Users'][username] = {}

try:
    test = fs['runbefore']
    del test
except:
    fs['runbefore'] = None
    install(fs)

def ls(args):
    print 'Contents of directory', directory + ':'
    if raw_dir:
        for i in fs[raw_dir[0]][raw_dir[1]][raw_dir[2]][raw_dir[3]]:
            print i
    else:
        for i in fs:
            print i

def cd(args):
    if len(args.split()) > 1:
        if args.split()[1] …
Run Code Online (Sandbox Code Playgroud)

python filesystems shelve

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

更改对象在解释器中的显示方式

有没有办法改变对象在Python解释器中显示时的显示方式?例如:

>>> test = myobject(2)
>>> test
'I am 2'
Run Code Online (Sandbox Code Playgroud)

要么

>>> test = myobject(2)
>>> test
myobject(2)
Run Code Online (Sandbox Code Playgroud)

python interpreter

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