首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何根据返回的不区分大小写的增量从文件系统中删除文件?

如何根据返回的不区分大小写的增量从文件系统中删除文件?
EN

Stack Overflow用户
提问于 2013-09-10 23:12:25
回答 2查看 884关注 0票数 4

我试图在中编写一个代码来实现这个特殊情况记录在案

路径,零:指示Dropbox上的路径上没有文件/文件夹。若要更新本地状态以匹配,请删除路径上的任何内容,包括任何子节点(有时还会为子节点“删除”增量条目,但这并不一定)。如果您的本地状态在路径上没有任何内容,请忽略此条目。

API注意到返回的[path]不区分大小写。

记住: Dropbox以不区分大小写但保持大小写的方式处理文件名。为了便于这一点,上面的路径字符串是实际路径的小写版本.元数据集具有原始的、保留案例的路径。

如果我不知道路径的大小写保存版本,如何从我的系统中删除该文件或目录?

如果是相关的话,我的操作系统是Linux,不过我希望能找到一个在Windows上也能工作的解决方案(如果可能的话)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-11 11:47:27

如果您需要能够使用原始大小写(例如,对于本地区分大小写的文件系统)从较低的大小写路径恢复路径,一种解决方案是将降低的路径映射到原始路径客户端。具体的实现细节取决于您,但是任何简单的键值存储都可能完成这项工作。

然后,当您获得这些删除之一时,可以使用此映射查找原始路径并相应地处理它。

票数 1
EN

Stack Overflow用户

发布于 2014-01-26 18:51:27

我知道这有点晚了,但我只是偶然遇到了同样的问题,想出了一个不同的解决方案。也许有人看到这个会更喜欢这种方法。

因为我的API只会在linux服务器上使用,而且对我来说删除相对较少,所以我依赖linux命令来帮助我。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    # LINUX ONLY
    cmd = "find {0} -iwholename '{1}'".format(basepath, caseInsensitivePath)
    with os.popen(cmd) as f:
        caseSensitivePath = f.read()[:-1] # -1 to remove the '\n'
        # error if more than 1 line
        if caseSensitivePath.find('\n') != -1:
            print "Found multiple results including: \n", caseSensitivePath
            msg = "[!]ERROR Could not delete {0}. Multiple case-sensitive results exist".format(caseInsensitivePath)
            raise Exception(msg)
        else:
            return caseSensitivePath

basepath是查找的基本路径。我建议找到一种使用比root '/‘更精确的方法。在我的例子中,我已经有了一个同步文件夹中的路径列表,所以我能够进行如下比较:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
caseInsensitivePath = caseInsensitivePath.lower()
# find basepath
basepath = assets_root
for folder in self.myDict.keys():
    if caseInsensitivePath.lower().startswith(folder.lower()):
        basepath = folder

caseInsensitivePath是路径名。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18734857

复制
相关文章
Windows 不区分大小写
之前就看过说 Windows 不区分大小写,但平时用得少倒也没什么体验,没想到还真能踩一次坑。
zqb_all
2020/05/04
2.7K0
SQL Server不区分大小写的问题
  默认情况下,SQL Server不区分大小写,如果数据表TEST的TNAME列中有数据“abcd”和“Abcd”, 如果使用查询语句:select * from test  where  tname  like 'a%',则查询的结果会把上面的两条记录都查询出来,这一点上和Oracle有区别.
跟着阿笨一起玩NET
2018/09/19
3.3K0
Git 默认不区分大小写
背景: 通过代码规范,修改了包名为全小写(修改了文件夹目录),但发现push后,git服务器的文件夹目录还是为大写 解决方法: git默认是不区分大小写的,意思是你修改一个文件名/文件夹的时候,git status 是不会提示你有修改的  可以通过git config --get core.ignorecase 查看默认配置 通过git config core.ignorecase false设置为区分大小写 然后git status 就可以看到变动 然后push到远程服务器
千往
2018/01/24
2K0
IntelliJ IDEA自动提示,如何设置不区分大小写
本文为joshua317原创文章,转载请注明:转载自joshua317博客 https://www.joshua317.com/article/154
joshua317
2021/10/09
2.3K0
IntelliJ IDEA自动提示,如何设置不区分大小写
Elasticsearch 如何实现查询/聚合不区分大小写?
问题2:ES7.6 如何实现模糊查询不区分大小写? 主要是如何进行分词和mapping的一些设置来实现这个效果,
铭毅天下
2020/12/17
7.9K0
Elasticsearch 如何实现查询/聚合不区分大小写?
nginx 配置路由不区分大小写
location 指令说明,该语法用来匹配 url,语法如上: =:用于不含正则表达式的 url 前,要求字符串与 url 严格匹配,匹配成功就停止向下搜索并处理请求。 ~:用于表示 url 包含正则表达式,并且区分大小写。 ~*:用于表示 url 包含正则表达式,并且不区分大小写。 ^~:用于不含正则表达式的 url 前,要求 Nginx 服务器找到表示 url 和字符串匹配度最高的 location 后,立即使用此 location 处理请求,而不再匹配。 如果有 url 包含正则表达式,不需要有 ~ 开头标识。
2022/02/20
6.9K0
nginx 配置路由不区分大小写
Solr4.6,搜索不区分大小写的配置
Solr4.6搜索有些字段搜索的时候不需要区分大小写。这个时候需要做简单的过滤,建索引和搜索的时候把输入都转换成小写即可。配置如下:
星哥玩云
2022/06/30
1.3K0
mysql 模糊查询实现不区分大小写
在上面语句中我们可以看到使用的是‘d%’或者是'D%'这样看上去好像有点不是很好。
凯哥Java
2019/07/01
5.1K0
如何根据后端返回的 url 下载 json 文件
有时候会遇到异步接口会返回一个 url 地址,然后前端需要根据这个 url 地址去下载文件资源的需求场景。 而这个 url 其实是一个静态资源地址,并非一个经过后端接口内部处理的接口地址。 所以当尝试像下面这样使用 a 标签去执行该 url 地址,会发现它是直接预览打开的一个 json 文件(也可能是一个 txt,js 等文件)
PHP开发工程师
2022/05/16
5.1K0
如何根据后端返回的 url 下载 json 文件
Django + MySQL 查询不区分大小写问题
由于测试环境的 sqlite 没有问题, 所以怀疑在 mysql 的配置上面。 原来是字符集校对规则的问题, utf8_general_ci 不区分大小写, 可以改成utf8_bin(将字符串中的每一个字符用二进制数据存储,区分大小写。) 或者 utf8_general_cs(cs为case sensitive的缩写,即大小写敏感).
用户1416054
2018/08/02
4.1K0
设置MySQL数据库不区分大小写
我们大家可能都碰到过这种情况:在Linux下,MySQL的表名区分大小写,而在Windows下是不区分,从Windows下导出的数据脚本中使用的是小写,而Hibernate生成的SQL中表名是大写的,所以查不出数据。如下,我的一个Windows下的项目移植到Linux环境中就因为MySQL严格区分大小写问题报错:
浩Coding
2019/07/03
16.6K0
MySql查询不区分大小写解决方案
当我们输入不管大小写都能查询到数据,例如:输入 lingyejun 或者Lingyejun ,LingYeJun都能查询同样的结果,说明查询条件对大小写不敏感。 CREATE TABLE NAME(name VARCHAR(10));
翎野君
2023/05/12
2.5K0
MySQL存储的字段是不区分大小写的,你知道吗?
之前写过一篇关于mysql 对表大小写敏感的问题(你有遇到过MySQL因大小写敏感导致的问题吗),其实在mysql中字段存储的内容是不区分大小写的,本篇进行简单的总结。
全栈程序员站长
2022/07/20
4.9K0
Python各种文件删除函数的功能区分!
在Python中对文件或者文件夹进行删除的操作方法有很多种,但每一种方法都有其特有的功能和特点。
灰小猿
2020/09/23
1.4K0
Python各种文件删除函数的功能区分!
python 判断字符串是否包含(不区分大小写)
python 判断字符串是否包含(不区分大小写) 通过in运算符来检查或通过str.find("")来检查 如果想要不区分大(upper())小(lower())写,可以将字符串全部转换为大写字母或小写字母 示例: a = "Hello World,你好世界" # 通过in运算符来检查。 if "Hello" in a: print("Yes") # 通过str.find("")来检查。 if a.find("Hello") != -1: print("Yes") # 如果想要不
超级小的大杯柠檬水
2023/05/06
2.7K0
ES6 模糊查询 智能联想(不区分大小写)
使用es6的filter方法和toLowerCase()方法实现了不区分大小写的自动补全;
kirin
2020/10/27
1.4K0
Python开发中如何优雅地区分错误和正确的返回结果
Python提供了强大的异常处理机制。通过这种方式,我们可以明确地分离错误和正常返回:
运维开发王义杰
2023/09/19
3010
Python开发中如何优雅地区分错误和正确的返回结果
Google增量文件系统为game 而生
众所周知,游戏越来在移动系统中占比越来越重。谷歌也正在为未来版本的Android开发新的文件系统,可能是2021年的Android 12,这将使玩新游戏变得更加容易。该文件系统称为增量文件系统,其目的是允许在下载其二进制文件和资源文件的同时运行游戏,减少用户的等待时间。
用户9732312
2022/05/13
6150
linux根据日期时间批量删除文件(删除N天前的文件)
find /www/wwwroot/shengsi-zhejiang/public/uploads/spot/Array/face -name "*" -mtime +3
炒香菇的书呆子
2023/10/01
2K0
如何根据函数返回的值对dart中的List进行排序
# 关于排序:如何根据函数返回的值对dart中的List进行排序 void main(){ List<POJO> pojo = [POJO(5), POJO(3),POJO(7),POJO(1)]; // fill list pojo..sort((a, b) => a.id.compareTo(b.id)); for(var i in pojo){ print(i.id); // prints list in sorted order i.e 1 3 5 7 } }
徐建国
2021/08/26
11.6K0

相似问题

如何检测Perl中不区分大小写的文件系统?

23

在不区分大小写的文件系统上模拟区分大小写

39

文件系统不区分大小写的MacOS上的MySQL区分大小写表名

86

yGuard混淆不区分大小写的文件系统中的代码

13

如何在不区分大小写的文件系统上找到类文件?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文