如何通过命令行和系统参数

2024-10-02 02:36:53 发布

您现在位置:Python中文网/ 问答频道 /正文

所以在过去,当我使用unix服务器进行python开发时,如果我想传入整个文件夹或目录,我只需要在它的末尾加上一个星号()。例如users/wilkenia/shakespeake/来传递一组包含莎士比亚戏剧的文件。有没有办法在windows中做到这一点?我尝试过放入C:\Users\Alexander\Desktop\coding data exam\wx\u data*,并在删除磁盘名的情况下使用相同的方法。事实上,到目前为止还没有任何结果,它将目录本身作为一个参数。在

编辑:实现了glob,得到一个权限错误,即使我是以管理员身份运行的。如果有人想看的话,这是我的code。在


Tags: 文件目录文件夹datawindowsunix星号users
2条回答

为了展示如何使用pathlib来实现这个结果。你可以这样做:

一些_脚本.py公司名称:

from pathlib import Path

path = Path(sys.argv[1])

glob_path = path.glob('*')

for file_path in glob_path:
    print(file_path)

演示:

^{pr2}$

输出:

C:/some/path/depth_1.txt
C:/some/path/dude.docx
C:/some/path/dude.py
C:/some/path/dude_bock.txt

pathlib的好处是它采用了面向对象的方法来帮助更轻松地处理文件系统。在

注意:pathlib是python3.4及更高版本中现成的可用的。如果您使用的是较旧版本的Python,则需要使用从pypi:here获得的后端口包

简单地说:pip install pathlib2

您可以使用^{}模块,它正是这样做的。在

快速演示:

In [81]: import glob

In [82]: glob.glob('*')
Out[82]: 
[
... # a bunch of my personal files from my cwd
]

如果您想为您的用例扩展此功能,您将需要按照以下思路进行操作:

^{pr2}$

您将使用sys.argv读取参数并将其传递到glob。在

相关问题 更多 >

    热门问题