精华内容
下载资源
问答
  • python去除文件名中非法的字符
    2021-07-19 17:01:10
    import re
    def clean_file_name(filename:str):
        invalid_chars='[\\\/:*?"<>|]'
        replace_char='-'
        return re.sub(invalid_chars,replace_char,filename)
    
    test=r'abc\d/s:f*s?df"fs<d>sd|ef'
    print(clean_file_name(test))
    #abc-d-s-f-s-df-fs-d-sd-ef

    python去除文件名中 非法的字符

    更多相关内容
  • 主要介绍了Python打印不合法文件名,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下的相关资料
  • 使用filenamify库 Demo package main import ( "github.... "fmt" ) func main() { output,err :=filenamify.Filenamify(`<foo/bar>`,filenamify.Options{}) fmt.Println(output,err)...

    使用filenamify

    Demo

    package main
    import (
    	"github.com/flytam/filenamify"
    	"fmt"
    )
    
    func main() {
    	output,err :=filenamify.Filenamify(`<foo/bar>`,filenamify.Options{})
        fmt.Println(output,err) // => foo!bar,nil
    
        //---
        output,err =filenamify.Filenamify(`foo:"bar"`,filenamify.Options{
        	Replacement:"🐴",
        })
        fmt.Println(output,err) // => foo🐴bar,nil
    }
    
    
    
    
    展开全文
  • Python将url转换作为合法文件名

    千次阅读 2020-08-21 14:23:59
    文章目录 问题描述 解决方案 方法一:去除非法字符 方法二:MD5 封装 参考文献 问题描述 Python 将 url 转换作为合法文件名 import urllib.request url = '...print(filename) # S:\hfs.guijk....

    问题描述

    Python 将 url 转换作为合法文件名

    import urllib.request
    
    url = 'https://hfs.guijk.com/3016/5/1499410040252168/jpg/o/2'
    filename = urllib.request.url2pathname(url)
    print(filename)
    # S:\hfs.guijk.com\3016\5\1499410040252168\jpg\o\2
    

    不能直接作为文件名




    解决方案

    方法一:去除非法字符

    import urllib.request
    from itertools import zip_longest
    
    
    def replace(x, old, new=None, strip=False) -> str:
        """批量替换字符串内容
    
        :param x: 原始字符串
        :param old: 要替换的内容,可为 `str` , `list`
        :param new: 新内容,可为 `str` , `list` , `None`
        :param strip: 是否删除前后空格
        """
        if not new:
            new = ''
        if isinstance(old, str):
            x = x.replace(old, new)
        if isinstance(old, list):
            for _old, _new in zip_longest(old, new, fillvalue=''):
                if _new == None:
                    _new = ''
                x = x.replace(_old, _new)
        if strip:
            x = x.strip()
        return x
    
    
    def url2filename(url):
        """url转文件名"""
        filename = urllib.request.url2pathname(url)
        filename = replace(filename, ['S:', '.', '<', '>', '/', '\\', '|', ':', '*', '?'])
        return filename
    
    
    if __name__ == '__main__':
        print(url2filename('https://www.xxx.com/0/1025759.png'))
        print(url2filename('https://www.xxx.com/3016/5/1499410040252168/jpg/o/2'))
    

    简单版

    import urllib.request
    
    
    def filename2url(filename):
        """文件名可以合法对外映射"""
        filename = urllib.request.url2pathname(filename)
        for old in ['S:', '<', '>', '/', '\\', '|', ':', '*', '?', '#']:
            filename = filename.replace(old, '-')
        filename = filename.strip()
        return filename
    
    
    print(filename2url('1#2.docx'))
    # 1-2.docx
    




    方法二:MD5

    import hashlib
    
    
    def url2filename(url):
        '''基于MD5将url映射为唯一文件名
    
        :param url: str
        :return: str
    
        >>> url2filename('https://www.baidu.com/')
        'e81c1f5749545c5f7d247b3a100ffe62'
        '''
        filename = hashlib.md5(url.encode('utf-8')).hexdigest()
        return filename
    
    
    if __name__ == '__main__':
        filename = url2filename('https://www.baidu.com/')
        print(filename)
    

    可结合字符串切片、pathlib.Path对文件进行目录分级,需要注意的是返回字符串是十六进制字符串,即0-F




    封装

    def vaild_filename(filename):
        """转合法文件名"""
        olds = ['<', '>', '/', '\\', '|', ':', '*', '?']
        for old in olds:
            filename = filename.replace(old, '')
        return filename
    
    
    print(vaild_filename('1/<>:.jpg'))  # 1.jpg
    




    参考文献

    1. python实现文件路径和url相互转换的方法
    2. Python中过滤Windows文件名中的非法字符
    展开全文
  • 今天在爬虫的时候,爬了二十条程序就莫名卡着动了,还以为是被服务器禁止访问。还去加了user-agent池,随机获得user-agent构成headers,没想到居然是最后文件命名的时候出问题了。 1、用于命名的字符串出现了非法...

    今天在爬虫的时候,爬了二十条程序就莫名卡着不动了,还以为是被服务器禁止访问。还去加了user-agent池,随机获得user-agent构成headers,没想到居然是最后文件命名的时候出问题了。

    1、用于命名的字符串出现了非法的字符。通过正则表达式除去字符串中非法字符:

    import re
     
    def validateTitle(title):
        rstr = r"[\/\\\:\*\?\"\<\>\|]"  # '/ \ : * ? " < > |'
        new_title = re.sub(rstr, "_", title)  # 替换为下划线
        return new_title
    

    2、去除前后空格:

    new_title = title.strip()
    
    展开全文
  • 今天小编就为大家分享一篇对Python 检查文件名是否规范的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  •  } 但我必须同意这些评论,我可能会试图处理非法路径的来源,而不是试图将一条非法的路径弄成合法的,但可能是无意的。 编辑:或一个潜在的‘更好’的解决方案,使用Regex的。string illegal = "\"M\"\\a/ry/ h...
  • QString name(fileName);  name = name.replace(QRegExp("[/*?:
  • 在上传文件的时候,我们很头疼的对文件的中文命名,一个字符串经常不合法导致文件存储不上,该方法经过多次改造,分享给各位。 该文件位于: 开源驰骋工作流bp框架里面. 源代码 /// <summary> /// ...
  • /// 过滤不合法的文件名字符 /// </summary> /// <param name="name"></param> /// <returns></returns> public static string FilterInvalidFileNameChars(string name) { ...
  • Linux 文件名合法性一般规则:* 文件名长度超过255* 避免使用加号、减号或者"."作为普通文件的第一个字符* 文件名避免使用下列特殊字符,包括制表符和退格符<>Python 示例如下:#!/usr/bin/env python # -*- ...
  • 为3.5之前的.NET框架这应该是可行的:正则表达式匹配应该会给您带来一些好处。下面是使用System.IO.Path.InvalidPathChars常数;boolIsValidFilename(stringtestName){RegexcontainsABadCharacter=newRegex("["+...
  • 上传文件的时候,我们很头疼的对文件的中文命名,一个字符串经常不合法导致文件存储不上,该方法经过多次改造,分享给各位。该文件位于: 开源驰骋工作流bp框架里面。 public static void WriteFile(string file, ...
  • python打印不合法文件名

    千次阅读 2018-11-19 18:51:36
    python打印不合法文件名 问题 你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃, 出现了 UnicodeEncodeError 异常和一条奇怪的消息—— surrogates not allowed 。 解决方案 当...
  • 打印不合法文件名

    2019-07-25 20:28:24
    本文摘自《python3-cookbook》(5.15 打印不合法文件名) 问题 你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃, 出现了 UnicodeEncodeError 异常和一条奇怪的消息—— surrogates ...
  • Delphi 判断文件名是否有效,主要判断文件名中是否包括有一些特殊字符,比如斜杠之类的,看了代码,原来挺基础的,主要是使用了Delphi中的IsFileName函数,几行代码就搞定了,下面的代码仅供参考:  procedure ...
  • java文件名判断练习

    2021-03-13 18:37:56
    public class HelloWorld {public static void main(String[] args) {// Java文件名String fileName = "HelloWorld.java";...// 判断.java文件名是否正确:合法文件名应该以.java结尾/*参考步骤:1、获取文...
  • Java中用到文件操作时,经常要验证文件名是否合法....文件名不能为空,空在这里有两个意思:文件名(包括扩展名)长度为0或仅由空字符组成(包括\t\b等可见的转义字符)文件名和扩展名能同时为空.但实际上我们可以用程...
  • Java中用到文件操作时,经常要验证文件名是否合法....文件名不能为空,空在这里有两个意思:文件名(包括扩展名)长度为0或仅由空字符组成(包括\t\b等可见的转义字符)文件名和扩展名能同时为空.但实际上我们可以用程...
  • C#快速剔除字符串中不合法文件名 stringstrFileName="文件名称"; StringBuilder rBuilder =newStringBuilder(strFileName);foreach(charrInvalidCharinPath.GetInvalidFileNameChars()) rBuilder.Replace...
  • 打印不合法文件名 问题 你的程序获取了一个目录中的文件名列表,但是当它试着去打印文件名的时候程序崩溃,出现了 UnicodeEncodeError 异常和一条奇怪的消息—— surrogates not allowed 。 解法 当打印未知的...
  • 主要介绍了C#中文件名或文件路径非法字符判断方法,本文主要使用了内置的GetInvalidFileNameChars方法实现非法字符判断,需要的朋友可以参考下
  • 问题出现1:spring MVC 框架下使用poi导出excel,设置导出文件名:response.setHeader("Content-Disposition", "attachment...该方法进行抓包测试时,显示BUG url不合法。解决办法:对"attachment;filename="+source...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 76,449
精华内容 30,579
关键字:

不合法的文件名