我有一个包含数字的字符串列表,我找不到对它们进行排序的好方法.
例如,我得到这样的东西:
something1
something12
something17
something2
something25
something29
Run Code Online (Sandbox Code Playgroud)
用这个sort()方法.
我知道我可能需要以某种方式提取数字,然后对列表进行排序,但我不知道如何以最简单的方式进行.
我经常使用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)
等等.订单曾经是字母数字.但是这个新订单现在已经和我保持了一段时间.
什么是确定这些列表的(显示)顺序?
我想知道是否可以在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?如果是这样,怎么样?
我正在运行5个DAG,它们在base_log_folder一个月内生成了大约6GB的日志数据.我只是添加了一个,remote_base_log_folder但似乎它不排除登录到base_log_folder.
是否有自动删除旧日志文件,旋转它们或强制气流不能仅在远程存储中登录磁盘(base_log_folder)?
我正在使用此代码计算文件的哈希值:
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)
我怎么能计算文件夹的哈希值?
我正在 Pytorch 中训练图像分类模型,并使用其默认数据加载器来加载我的训练数据。我有一个非常大的训练数据集,因此每个类通常有几千个样本图像。过去我已经用大约 20 万张图像训练过模型,没有出现任何问题。然而我发现,当图像总数超过一百万张时,Pytorch 数据加载器就会卡住。
\n\n我相信当我打电话时代码挂起datasets.ImageFolder(...)。当我按下 Ctrl-C 时,输出始终如下:
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