[ad_1]
Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- Volume 0 R RAW Partition 931 GB Healthy
ボリューム番号でドライブ文字を確認しています
しかし、私が得ているすべての残りから正確にRの手紙を受け取っていません
以下のコードで私が間違っていること
私にお知らせください
私が試したこと:
def verify_drive_letter1(volume_number,drive_letter): verify_drive_command=["diskpart",'/s',"verify_list.txt"] with open("verify_list.txt","w") as f: f.write("select disk {}\n".format(volume_number)) f.write("detail disk\n") try: result=subprocess.run(verify_drive_command,capture_output=True,text=True) output=result.stdout print(output) except Exception as e: print("faild to list Drive Letter ",e) return None for line in output.split('\n'): if line.startswith(' Volume '): found_drive_letter = line.split("\n")[-1] get_drive_letter= found_drive_letter.split()[2][1:] if f"{drive_letter}:" in get_drive_letter and volume_number in line: return True
解決策 1
まず、Diskpart には管理者権限が必要なため、スクリプトを管理者として実行してください。
以下は Driveletter R を返すはずです –
try: result = subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) except subprocess.CalledProcessError as e: raise Exception(f"Failed to get drive letter: {e.output.decode('utf-8')}") result = result.decode('utf-8') for line in result.split('\n'): if volume_name in line: return line.split()[1] raise Exception(f"Failed to get drive letter: Volume '{volume_name}' not found") //An example to get the drive letter of a volume named 'MyDisk' try: drive_letter = get_drive_letter('MyDisk') print(f"Drive letter: {drive_letter}") except Exception as e: print(f"Error: {e}")
解決策 2
これはうまくいくはずです:
Python
if line.startswith(' Volume '): get_drive_letter = line.split()[2]
[ad_2]
コメント