小编kak*_*dol的帖子

pathlib glob('*') 和 iterdir 有什么区别?

假设我正在编写代码pathlib,并且我想迭代目录同一级别中的所有文件。

我可以通过两种方式做到这一点:

p = pathlib.Path('/some/path')
for f in p.iterdir():
    print(f)
Run Code Online (Sandbox Code Playgroud)
p = pathlib.Path('/some/path')
for f in p.glob('*'):
    print(f)
Run Code Online (Sandbox Code Playgroud)

其中一种选择是否更好?

python pathlib

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

如何使用 f-string 样式设置 python.logging 格式

我正在使用 python 3.7 编写一个应用程序,并且只想在其中使用f 字符串

我正在使用 python 日志记录模块来正确记录我的应用程序,我想使用特定的格式,但文档(和网络)仅举例说明如何使用 %-strings 更改格式。我想知道是否有使用 f-strings 设置记录器格式的选项

LOG_FORAMT = ('%(levelname)s -10s %(asctime)s -10s %(message)s') # Known example

f-LOG_FORMAT = (f'{logger.levelname} -10s') # Something like that?
Run Code Online (Sandbox Code Playgroud)

python-3.x python-3.6 f-string python-3.7 python-logging

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

在linux上使用python从smb共享获取文件的所有者

我需要找出我正在编写的脚本谁是 smb 共享中文件的真正所有者(mount -t cifs当然使用我的服务器安装并net use通过 Windows 机器使用)。

事实证明,在 Linux 服务器上使用 python 查找这些信息确实是一个挑战。

我尝试使用很多 smb 库(例如 smbprotocol、smbclient 等),但没有任何效果。
我发现很少有针对 Windows 的解决方案,它们都使用 pywin32 或其他 Windows 特定的包。
我还设法使用 bash 来做到这一点smbcalcs,但不能干净地做到这一点,但使用subprocess.popen('smbcacls')..

关于如何解决它有什么想法吗?

linux smb cifs cacls python-3.x

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