小编Dav*_*d M的帖子

来自inode的Python文件名?

我正在从OS X上的旧应用程序转换文件.由于当时一直很好的原因,它通过其inode编号在其数据库中记录相关文件.(我认为Apple称之为FileID.)

给定文件名,我可以使用os.stat()在Python中找到inode.但是有一种Python方法可以找到给定inode编号的名称吗?

如果做不到这一点,我可以想到另外两种方式:

  1. 扫描文件夹中的所有文件以收集其所有inode编号,并将其保存在字典中以供快速参考.

  2. 使用os.system('find/folder/folder -inum 1234')并解析输出我所追求的内容.我认为这与上面的内容完全相同,但是由操作系统完成.

我更喜欢Python本机解决方案,但对任何其他建议都会感激不尽.

这将是OS X 10.5或6上的Python2.

python

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

Python面向对象的设计概念

隔了20年之后,我才回到编程领域。我认为Python看上去相当简单和强大,因此我完成了在线课程和阅读。

我现在正在看一些简单的项目来熟悉这种语言。挑战之一是使我的注意力转向面向对象的编程,而上次编写程序时并没有。

我的第一个项目是读取一个数据文件,其中包含有关股票投资组合的信息,对每个投资组合进行一些计算,然后打印报告。我有这个工作。

因此,现在我正在研究更高级的内容,读取并存储数据,然后使用数据提供交互式问题的答案。我的问题是如何存储数据以便可以轻松访问。

我首先想到的是列出清单,例如

companies = [ ['AMP', 1000, 2.50], ['ANZ', 2000, 17.00], ['BHP', 500, 54.30] ]
Run Code Online (Sandbox Code Playgroud)

可以很容易地在循环中进行访问,但是访问方法并不完全友好-数字作为索引而不是名称:

companyqty = companies[1][1]
Run Code Online (Sandbox Code Playgroud)

或循环:

for company in companies:
    if company[0] == 'BHP':
        companyqty = company[1]
Run Code Online (Sandbox Code Playgroud)

然后我想到了一个字典,其值是一个列表:

companies = {'AMP':[1000, 2.50], 'ANZ':[2000, 17.00], 'BHP':[500, 54.30] }
companyqty = companies['BHP'][0]
Run Code Online (Sandbox Code Playgroud)

这样可以立即访问任何给定的公司,但是仍然停留在数字索引上。

因此,我想知道如何以一种面向对象的方式来构造它,以便能够保存公司列表和所有相关数据,并能够方便地访问这些值。到目前为止,我所有的想法都像上面的清单或字典一样。

还是这种问题真的不适合面向对象的方法?

谢谢

python object-oriented-analysis

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

标签 统计

python ×2

object-oriented-analysis ×1