sách gpt4 ai đã đi

Mô-đun Python xattr không có danh sách thuộc tính

In lại 作者:行者123 更新时间:2023-12-04 17:12:26 25 4
mua khóa gpt4 Nike

我用模块 xattr 写了一个脚本来设置一些文件的扩展属性。我在 Ubuntu 中的 python3 中成功地测试了它,但它在我的 RasperryPi 上不起作用。

我不得不更改许多小错误,主要是xattr 不知道它的方法.

Ví dụ,xattr.set(...) 必须更改为 xattr.setattr(...)。但是我没有列出它们。所以我只尝试了基础知识并得到了错误:

import xattr
xattr.list('files.py')
Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
Tệp "", dòng 1, trong
AttributeError: module 'xattr' has no attribute 'list'

我的想法是 python 可能使用了错误的模块(对于 python 2.7 而不是 3?)。所以我尝试卸载 2.7 模块但得到了这个:

...$ pip uninstall xattr
Theo dõi (cuộc gọi gần đây nhất là cuộc gọi cuối cùng):
File "/usr/local/bin/pip", line 7, in
from pip._internal import main
ImportError: No module named _internal

但我可以成功卸载 python3 包。在那之后,即使在 python3 中,“import xattr”仍然有效?

1 Câu trả lời

现在是凌晨 3 点,听着 glitch mob 的声音,自从我出于好奇进入了这个兔子洞之后……我想给你我的代码示例来使用 python 的内置 xattr 模块。

创建一个名为 xattr_example.py 的文件并将此代码放入其中,然后运行该文件。

文件:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# =============================================================================
"""The Following Is An Example for xattr."""
# =============================================================================

import xattr

print("{}".format(xattr.__file__))
# '/usr/local/lib/python3.7/site-packages/xattr/__init__.py'


def showww_me_the_meta(file_name):
"""Using Python's XATTR to list Key Meta Names for File."""
print("Showing Initial Names & Values.")
attrz = xattr.listxattr(file_name)
result = ("A. Info Showcased Init: {}".format(attrz))
print("{}".format(result))
trả về kết quả


def update_the_meta(file_name):
"""Using Python's XATTR to Update Key Meta Names for File."""
xattr.setxattr(file_name, 'custom.comment',
'I tawt I taw a puddy tat!.'.encode('utf-8'))
xattr.setxattr(file_name, 'Music.Artist',
'I did! '
'I did taw a puddy tat!'.encode('utf-8'))
get_the_meta_values(file_name)
trở lại


def get_the_meta_values(file_name):
"""Example."""
print("B. Listing Meta for: {}".format(file_name))
attrz = xattr.listxattr(file_name)
print("")
for i in reversed(attrz):
abc = xattr.getxattr(file_name, i)
result = ("{} : {}".format(i, abc))
print(" {}".format(result))
print("")
trở lại


def remove_the_meta(file_name):
"""Example."""
xattr.removexattr(file_name, 'custom.comment')
xattr.removexattr(file_name, 'Music.Artist')
attrz = xattr.listxattr(file_name)
result = ("C. Info Removed Meta: {}".format(attrz))
print("{}".format(result))
trả về kết quả


nếu __name__ == '__main__':
showww_me_the_meta('xattr_example.py')
update_the_meta('xattr_example.py')
remove_the_meta('xattr_example.py')

文件运行结果为:

$ python3 xattr_example.py
/usr/local/lib/python3.7/site-packages/xattr/__init__.py
Showing Initial Names & Values.
A. Info Showcased Init: ()
B. Listing Meta for: xattr_example.py

custom.comment : b'I tawt I taw a puddy tat!.'
Music.Artist : b'I did! I did taw a puddy tat!'

C. Info Removed Meta: ()

cuối cùng

Đối với"import xattr"即使在 python3 中仍然有效? 请注意,可以为两个版本安装 python,但路径不同。

python -V
# Python 2.7.16
which python
# /usr/local/bin/python

python3 -V
Python 3.7.4
which python3
/usr/local/bin/python3

如果列出了多个版本,调用Trăn时必须分别使用Trănhoặcpython3。我在 Mac OSX 上工作,所以两者都有,但这个脚本是用 python3 编写的。

Tài liệu tham khảo:

希望对您有所帮助!祝你玩得开心!

关于Python 模块 xattr 没有属性列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52403922/

25 4 0
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com