好,所以我编写了一个简单的Python代码,该代码比较了2个文件夹中的所有文件,并从其中一个文件夹中删除了重复文件。我已经使用了几个星期,并且在所有硬盘上都可以正常使用。 但是当我连接手机时,os.walk似乎根本找不到该地址
电话:Blackberry Key2(android) 平台:Jupyter笔记本 问题:通过USB连接时,手机似乎缺少驱动器号(请参见屏幕截图)。我不知道那是什么意思。This PC screenshot 我正在输入os.walk命令在计算机中显示的路径,但无法读取
path2 = r“ RG0005 \ BlackBerryBBF1006 \ Internal shared storage \ Pictures”
我尝试搜索论坛,但我想我不知道没有驱动器号的驱动器是什么,找不到任何相关的信息
感谢您的帮助!!谢谢!
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_Bckup\1_Pictures"
#DELETE FROM PATH
path2 = r"RG0005\BlackBerryBBF1006\Internal shared storage\Pictures"
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()
答案 0 :(得分:0)
这样的MTP设备不是普通驱动器,您不能通过路径名访问它。
您唯一的解决方案是使用MTP库连接到设备(或在电话上安装其他文件服务器,例如WebDav,FTP或SFTP服务器并连接到该设备),或使用COM组件执行此操作通过Windows(但不是常规路径。这很困难)。
答案 1 :(得分:0)
“电话上的FTP服务器”选项适用于以下
建立连接
############--- 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_Bckup\1_Pictures\To Organize\WhatsApp 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 Android\Screenshots"
然后在其中查找公用文件并删除
#---------------------#
# 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()