Python无法从返回的字符串中删除空格

Python无法从返回的字符串中删除空格,python,string,winapi,Python,String,Winapi,我试过了,我试过了,我试过了,我试过了,我试过了几乎所有的解决办法,让这些该死的空白离开我,但它们不会消失 import win32api import string import re disks = win32api.GetLogicalDriveStrings() disks = disks.translate({ord(c): None for c in ':\\ '}) disks = re.sub(r'\s+','',disks, flags=re.UNICODE) print

我试过了,我试过了,我试过了,我试过了,我试过了几乎所有的解决办法,让这些该死的空白离开我,但它们不会消失

import win32api
import string
import re

disks = win32api.GetLogicalDriveStrings()
disks = disks.translate({ord(c): None for c in ':\\ '})

disks = re.sub(r'\s+','',disks, flags=re.UNICODE)

print (disks)

for disk in disks.strip().split(): # or just disks without the other stuff
    print('Trying drive: '+disk)
    try:
        drives,_,_,_,_ = win32api.GetVolumeInformation(disk+':\\')
        print ('Got info for drive: ' + disk)
        print(drives)
    except Exception as details:
        print('Ooops, not a hard drive')
输出不带.strip().split()

输出不带.strip().split()

我现在试过了

" ".join(disks.split())

您可以在
拆分
本身中包含所需的分隔符。比如:

import win32api

disks = win32api.GetLogicalDriveStrings()
disks = disks.split(":\\\x00")

for disk in disks:
    if len(disk):
        print('Trying drive: '+disk)
        try:
            drives = win32api.GetVolumeInformation(disk+':\\')
            print ('Got info for drive: ' + disk)
            print(drives)
        except Exception as details:
            print('Ooops, not a hard drive')
Trying drive: C
Got info for drive: C
('OS', -1470383266, 255, 65470719, 'NTFS')
Trying drive: D
Ooops, not a hard drive
Trying drive: G
Ooops, not a hard drive
Trying drive: H
Ooops, not a hard drive
Trying drive: W
Got info for drive: W
('Offline', 0, 255, 6, 'CSC-CACHE')
对我来说,这会产生如下结果:

import win32api

disks = win32api.GetLogicalDriveStrings()
disks = disks.split(":\\\x00")

for disk in disks:
    if len(disk):
        print('Trying drive: '+disk)
        try:
            drives = win32api.GetVolumeInformation(disk+':\\')
            print ('Got info for drive: ' + disk)
            print(drives)
        except Exception as details:
            print('Ooops, not a hard drive')
Trying drive: C
Got info for drive: C
('OS', -1470383266, 255, 65470719, 'NTFS')
Trying drive: D
Ooops, not a hard drive
Trying drive: G
Ooops, not a hard drive
Trying drive: H
Ooops, not a hard drive
Trying drive: W
Got info for drive: W
('Offline', 0, 255, 6, 'CSC-CACHE')

我认为你应该停止猜测,阅读文档。此字符串中没有空格。您的代码可以工作,但是。编辑:代码是正确的,因为您为
GetVolumeInformation()
调用添加了“:\ \”。这对我来说确实有效,只是它在末尾留了一个空格,现在就可以了!谢谢!