Python os.walk 适用于没有驱动器号的未装载驱动器



好的,所以我写了一个简单的 Python 代码,比较 2 个文件夹中的所有文件并从其中一个文件夹中删除重复项。我已经使用它几个星期了,它在我的所有硬盘上都运行良好。 但是当我连接手机时,os.walk似乎根本没有找到地址

手机 : 黑莓钥匙2 (安卓( 平台 : Jupyter Notebook 问题:从USB连接的手机似乎缺少驱动器号(请参见屏幕截图(。我不知道这意味着什么。此电脑截图 我正在输入 os.walk 命令的计算机中显示的路径,但它不会读取它

path2 = r"RG0005\BlackBerryBBF1006\内部共享存储\图片">

我尝试搜索论坛,但我想我不知道没有驱动器号的驱动器叫什么,也找不到任何相关的东西

任何帮助不胜感激!!谢谢!

python笔记本的代码:

import os
import pandas as pd
import csv
from datetime import datetime
pd.set_option('display.max_colwidth', 700)
#COMPARE THIS
path1 = r"F:1_BBK1_20190623_Img_Bckup1_Pictures"
#DELETE FROM PATH
path2 = r"RG0005BlackBerryBBF1006Internal shared storagePictures"
f1 = [] #path
f2 = [] #path
a1 = [] #filename
a2 = [] #filename
for root, dirs, files in os.walk(path1):
for file in files:
if (file.endswith(".jpg") 
or file.endswith(".png") 
or file.endswith(".jpeg") 
or file.endswith(".mov")  
or file.endswith(".mp4") 
or file.endswith(".pdf") 
or file.endswith(".xlsx") 
or file.endswith(".txt")):
f1.append(os.path.join(root))
a1.append(os.path.join(file))
ds1 = {"Path":f1,"filename":a1}
df1 = pd.DataFrame(ds1)
for root, dirs, files in os.walk(path2):
for file in files:
if (file.endswith(".jpg") 
or file.endswith(".png") 
or file.endswith(".jpeg") 
or file.endswith(".mov")  
or file.endswith(".mp4") 
or file.endswith(".pdf") 
or file.endswith(".xlsx") 
or file.endswith(".txt")):
f2.append(os.path.join(root))
a2.append(os.path.join(file))
ds2 = {"Path":f2,"filename":a2}
df2 = pd.DataFrame(ds2)
# df2.head()

像这样的 MTP 设备不是普通驱动器,您无法通过路径名访问它。

唯一的解决方案是使用 MTP 库连接到设备(或在手机上安装另一个文件服务器,如 WebDav、FTP 或 SFTP 服务器并连接到该服务器(,或使用 COM 组件通过 Windows 执行此操作(但不是常规路径(。这很难(。

FTP Server on Phone 选项适用于以下内容

建立连接

############--- SFTP SETUP
my_session_factory = ftputil.session.session_factory(
base_class=ftplib.FTP,
port=8888,
encrypt_data_channel=True,
debug_level=None)
############--- DEFINING VARIABLES
f1 = [] #path
f2 = [] #path
a1 = [] #filename
a2 = [] #filename
pd.set_option('display.max_colwidth', 700)

#---------------------#
# PATH1 : COMPARE FROM (BASE FOLDER TO KEEP)
#---------------------#
# path1 = r"F:1_BBK1_20190623_Img_Bckup1_PicturesTo OrganizeWhatsApp Images - moved to key2 for sorting"
a_host = ftputil.FTPHost("192.168.0.xxx",'user','pwd',session_factory=my_session_factory)
path1 = "/storage/emulated/0/Pictures/"
a_host.chdir(path1)

#---------------------#
# PATH2 : COMPARE WITH (FOLDER TO DELETE FROM)
#---------------------#
# a_host = ftputil.FTPHost("192.168.1.xxx",'user','pwd',session_factory=my_session_factory)
# path2 = "/storage/emulated/0/Pictures/"
# a_host.chdir(path2)
path2 = r"E:2_SFTP Transfers AndroidScreenshots"

在此之后用于查找常见文件并删除

#---------------------#
# CREATING DATAFRAMES
#---------------------#
for root, dirs, files in os.walk(path1):
for file in files:
if (file.endswith(".jpg") 
or file.endswith(".png") 
or file.endswith(".jpeg") 
or file.endswith(".mov")  
or file.endswith(".mp4") 
#             or file.endswith(".pdf") 
#             or file.endswith(".xlsx") 
or file.endswith(".txt")):
f1.append(os.path.join(root))
a1.append(os.path.join(file))
ds1 = {"Path":f1,"filename":a1}
df1 = pd.DataFrame(ds1)
for root, dirs, files in a_host.walk(path2):
for file in files:
if (file.endswith(".jpg") 
or file.endswith(".png")
or file.endswith(".jpeg") 
or file.endswith(".mov")  
or file.endswith(".mp4") 
#             or file.endswith(".pdf") 
#             or file.endswith(".xlsx") 
or file.endswith(".txt")):
f2.append(os.path.join(root))
a2.append(os.path.join(file))
ds2 = {"Path":f2,"filename":a2}
df2 = pd.DataFrame(ds2)
# df2.head(5)
common = df1[df1.filename.isin(df2.filename)]
common.shape
# common.head()

相关内容

  • 没有找到相关文章

最新更新