相关疑难解决方法(0)

如何正确排序内部带有数字的字符串?

可能重复:
Python是否具有用于字符串自然排序的内置函数?

我有一个包含数字的字符串列表,我找不到对它们进行排序的好方法.
例如,我得到这样的东西:

something1
something12
something17
something2
something25
something29
Run Code Online (Sandbox Code Playgroud)

用这个sort()方法.

我知道我可能需要以某种方式提取数字,然后对列表进行排序,但我不知道如何以最简单的方式进行.

python regex sorting string

101
推荐指数
1
解决办法
7万
查看次数

来自os.listdir()的非字母数字列表顺序

我经常使用python来处理数据目录.最近,我注意到列表的默认顺序已经变为几乎荒谬的东西.例如,如果我在包含以下子目录的当前目录中:run01,run02,... run19,run20,然后我从以下命令生成一个列表:

dir = os.listdir(os.getcwd())
Run Code Online (Sandbox Code Playgroud)

然后我通常按此顺序获得一个列表:

dir = ['run01', 'run18', 'run14', 'run13', 'run12', 'run11', 'run08', ... ]
Run Code Online (Sandbox Code Playgroud)

等等.订单曾经是字母数字.但是这个新订单现在已经和我保持了一段时间.

什么是确定这些列表的(显示)顺序?

python list directory-listing listdir

92
推荐指数
8
解决办法
10万
查看次数

我可以强制python3的os.walk按字母顺序访问目录吗?怎么样?

我想知道是否可以在python3中强制os.walk按字母顺序访问目录.例如,这是一个目录和一些将遍历此目录的代码:

ryan:~/bktest$ ls -1 sample
CD01
CD02
CD03
CD04
CD05

--------

def main_work_subdirs(gl):
    for root, dirs, files in os.walk(gl['pwd']):
        if root == gl['pwd']:
            for d2i in dirs:
                print(d2i)
Run Code Online (Sandbox Code Playgroud)

当python代码点击上面的目录时,输出如下:

ryan:~/bktest$ ~/test.py sample
CD03
CD01
CD05
CD02
CD04
Run Code Online (Sandbox Code Playgroud)

我想强迫步行按字母顺序访问这些目录01, 02 ... 05.在python3 doc中os.walk,它说:

当topdown为True时,调用者可以就地修改dirnames列表(可能使用del或slice赋值),而walk()只会递归到名称保留在dirnames中的子目录中; 这可以用来修剪搜索,强加一个特定的访问顺序

这是否意味着我可以强加一个按字母顺序排列的访问顺序os.walk?如果是这样,怎么样?

os.walk python-3.x

25
推荐指数
2
解决办法
5072
查看次数

删除Airflow任务日志

我正在运行5个DAG,它们在base_log_folder一个月内生成了大约6GB的日志数据.我只是添加了一个,remote_base_log_folder但似乎它不排除登录到base_log_folder.

是否有自动删除旧日志文件,旋转它们或强制气流不能仅在远程存储中登录磁盘(base_log_folder)?

airflow

22
推荐指数
4
解决办法
1万
查看次数

如何使用Python计算文件系统目录的哈希值?

我正在使用此代码计算文件的哈希值:

m = hashlib.md5()
with open("calculator.pdf", 'rb') as fh:
    while True:
        data = fh.read(8192)
        if not data:
            break
        m.update(data)
    hash_value = m.hexdigest()

    print  hash_value
Run Code Online (Sandbox Code Playgroud)

当我在文件夹"文件夹"上尝试时,我得到了

IOError: [Errno 13] Permission denied: folder
Run Code Online (Sandbox Code Playgroud)

我怎么能计算文件夹的哈希值?

python hash

15
推荐指数
4
解决办法
1万
查看次数

Pytorch 默认数据加载器因大型图像分类训练集而卡住

我正在 Pytorch 中训练图像分类模型,并使用其默认数据加载器来加载我的训练数据。我有一个非常大的训练数据集,因此每个类通常有几千个样本图像。过去我已经用大约 20 万张图像训练过模型,没有出现任何问题。然而我发现,当图像总数超过一百万张时,Pytorch 数据加载器就会卡住。

\n\n

我相信当我打电话时代码挂起datasets.ImageFolder(...)。当我按下 Ctrl-C 时,输出始终如下:

\n\n
Traceback (most recent call last):                                                                                                 \xe2\x94\x82\n  File "main.py", line 412, in <module>                                                                                            \xe2\x94\x82\n    main()                                                                                                                         \xe2\x94\x82\n  File "main.py", line 122, in main                                                                                                \xe2\x94\x82\n    run_training(args.group, args.num_classes)                                                                                     \xe2\x94\x82\n  File "main.py", line 203, in run_training                                                                                        \xe2\x94\x82\n    train_loader = create_dataloader(traindir, tfm.train_trans, shuffle=True)                                                      \xe2\x94\x82\n  File "main.py", line 236, in create_dataloader                                                                                   \xe2\x94\x82\n    dataset = datasets.ImageFolder(directory, trans)                                                                               \xe2\x94\x82\n  File "/home/username/.local/lib/python3.5/site-packages/torchvision/datasets/folder.py", line 209, in __init__     \xe2\x94\x82\n    is_valid_file=is_valid_file)                                                                                                   \xe2\x94\x82\n  File "/home/username/.local/lib/python3.5/site-packages/torchvision/datasets/folder.py", line 94, in __init__ …
Run Code Online (Sandbox Code Playgroud)

classification computer-vision deep-learning pytorch dataloader

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