精华内容
下载资源
问答
  • # 1、去掉特殊符号".",",">","#"; # 2、去掉中间多余空格; # 3、去掉首尾空格; # 4、中文与英文间添加空格
  • python去掉符号

    千次阅读 2020-12-23 03:41:44
    比如环境变量 FISH=nothing,那os.path.expandvars(”$FISH/abc”)会返回”nothing/abc” os.path.normpath(path)去掉path中包含的”.”和”..” os.path.splitext(path)把path分离成基本名和扩展名。比如:os.path....

    python可以做shell脚本吗? 首先介绍一个函数:

    os.system(command)

    这个函数可以调用shell运行命令行command并且返回它的返回值。试一下在 python的解释器里输入os.system(”ls -l”),就可以看到”ls”列出了当前目录下的文件。可以说,通过这个函数,python就拥有了shell的所有能力。呵呵。。不过,通常这条命令不需要用到。因为shell常用的那些命令在python中通常有对应而且同样简洁的写法。

    shell中最常用的是ls命令,python对应的写法是:os.listdir(dirname),这个函数返回字符串列表,里面是所有的文件名,不过不包含”.”和”..”。如果要遍历整个目录的话就会比较复杂一点。我们等下再说吧。先在解释器里试一下:

    os.listdir(”/”)

    [’tmp’, ‘misc’, ‘opt’, ‘root’, ‘.autorelabel’, ’sbin’, ’srv’, ‘.autofsck’, ‘mnt’, ‘usr’, ‘var’, ‘etc’, ’selinux’, ‘lib’, ‘net’, ‘lost found’, ’sys’, ‘media’, ‘dev’, ‘proc’, ‘boot’, ‘home’, ‘bin’]

    就像这样,接下去所有命令都可以在python的解释器里直接运行观看结果。

    对应于cp命令的是:shutil.copy(src,dest),这个函数有两个参数,参数src是指源文件的名字,参数dest则是目标文件或者目标目录的名字。 如果dest是一个目录名,就会在那个目录下创建一个相同名字的文件。与shutil.copy函数相类似的是 shutil.copy2(src,dest),不过copy2还会复制最后存取时间和最后更新时间。

    不过,shell的cp命令还可以复制目录,python的shutil.copy却不行,第一个参数只能是一个文件。这怎么办?其实,python还有个shutil.copytree(src,dst[,symlinks]) 。参数多了一个symlinks,它是一个布尔值,如果是True的话就创建符号链接。

    移动或者重命名文件和目录呢?估计被聪明的朋友猜到了,shutil.move(src,dst),呵呵。。与mv命令类似,如果src和dst在同一个文件系统上,shutil.move只是简单改一下名字,如果src和dst在不同的文件系统上,shutil.move会先把src复制到dst,然后删除src文件。看到现在,大多数朋友应该已经对 python的能力有点眉目了,接下来我就列个表,介绍一下其它的函数:

    os.chdir(dirname)把当前工作目录切换到dirname下

    os.getcwd()返回当前的工作目录路径

    os.chroot(dirname)把dirname作为进程的根目录。和*nix下的chroot命令类似

    os.chmod(path,mode)更改path的权限位。mode可以是以下值(使用or)的组合:

    os.S_ISUIDos.S_ISGIDos.S_ENFMTos.S_ISVTXos.S_IREADos.S_IWRITEos.S_IEXECos.S_IRWXUos.S_IRUSRos.S_IWUSRos.S_IXUSRos.S_IRWXGos.S_IRGRPos.S_IWGRPos.S_IXGRPos.S_IRWXOos.S_IROTHos.S_IWOTHos.S_IXOTH

    具体它们是什么含义,就不仔细说了,基本上就是R代表读,W代表写,X代表执行权限。USR 代表用户,GRP代表组,OTH代表其它。

    os.chown(path,uid,gid)改变文件的属主。uid和gid为-1的时候不改变原来的属主。

    os.link(src,dst)创建硬连接

    os.mkdir(path,[mode])创建目录。mode的意义参见os.chmod(),默认是0777

    os.makedirs(path,[mode])和os.mkdir()类似,不过会先创建不存在的父目录。

    os.readlink(path)返回path这个符号链接所指向的路径

    os.remove(path)删除文件,不能用于删除目录

    os.rmdir(path)删除文件夹,不能用于删除文件

    os.symlink(src,dst)创建符号链接

    shutil.rmtree(path[,ignore_errors[,onerror]])

    删除文件夹介绍了这么多,其实只要查一下os和shutil两个模块的文档就有了,呵呵。。真正编写 shell脚本的时候还需要注意:

    1.环境变量。python的环境变量保存在os.environ这个字典里,可以用普通字典的方法修改它,使用system启动其它程序的时候会自动被继承。比如:

    os.environ[”fish”]=”nothing”不过也要注意,环境变量的值只能是字符串。和shell有些不同的是,python没有 export环境变量这个概念。为什么没有呢?因为python没有必要有:-)

    2.os.path这个模块里包含了很多关于路径名处理的函数。在shell里路径名处理好像不是很重要,但是在python里经常需要用到。最常用的两个是分离和合并目录名和文件名:

    os.path.split(path) -> (dirname,basename)这个函数会把一个路径分离为两部分,比如:os.path.split(”/foo /bar.dat”)会返回(”/foo”,”bar.dat”)

    os.path.join(dirname,basename)这个函数会把目录名和文件名组合成一个完整的路径名,比如:os.path.join(”/foo”,”bar.dat”)会返回”/foo/bar.dat”。这个函数和os.path.split()刚好相反。

    还有这些函数:

    os.path.abspath(path)把path转成绝对路径

    os.path.expanduser(path)把path中包含的”~”和”~user”转换成用户目录

    os.path.expandvars(path)根据环境变量的值替换path中包含的”$name”和”${name}”,比如环境变量 FISH=nothing,那os.path.expandvars(”$FISH/abc”)会返回”nothing/abc”

    os.path.normpath(path)去掉path中包含的”.”和”..”

    os.path.splitext(path)把path分离成基本名和扩展名。比如:os.path.splitext(”/foo /bar.tar.bz2″)返回(’/foo/bar.tar’, ‘.bz2′)。要注意它和os.path.split()的区别

    3.在os模块有一个很好用的函数叫os.stat()没有介绍,因为os.path模块里包含了一组和它具有同样功能的函数,但是名字更好记一点。

    os.path.exists(path)判断文件或者目录是否存在

    os.path.isfile(判断path所指向的是否是一个普通文件,而不是目录

    os.path.isdir(path)

    判断path所指向的是否是一个目录,而不是普通文件

    os.path.islink(path)判断path所指向的是否是一个符号链接

    os.path.ismount(path)判断path所指向的是否是一个挂接点(mount point)

    os.path.getatime(path)返回path所指向的文件或者目录的最后存取时间。

    os.path.getmtime(path)返回path所指向的文件或者目录的最后修改时间

    os.path.getctime(path)返回path所指向的文件的创建时间

    os.path.getsize(path返回path所指向的文件的大小

    4.应用python编写shell脚本经常要用到os,shutil,glob(正则表达式的文件名),tempfile(临时文件),pwd(操作/etc/passwd文件),grp(操作/etc/group文件),commands(取得一个命令的输出)。前面两个已经基本上介绍完了,后面几个很简单,看一下文档就可以了。

    5.sys.argv是一个列表,保存了python程序的命令行参数。其中 sys.argv[0]是程序本身的名字。不能光说不练,接下来我们就编写一个用于复制文件的简单脚本。前两天叫我写脚本的同事有个几万个文件的目录,他想复制这些文件到其它的目录,又不能直接复制目录本身。他试了一下”cp src/* dest/”结果报了一个命令行太长的错误,让我帮他写一个脚本。操起python来:import sys,os.path,shutilfor f in os.listdir(sys.argv[1]):shutil.copy(os.path.join(sys.argv[1],f),sys.argv[2])

    再试一下linuxapp版里的帖子——把一个文件夹下的所有文件重命名成 10001~10999。可以这样写:import os.path,sysdirname=sys.argv[1]i=10001for f in os.listdir(dirname):src=os.path.join(dirname,f)if os.path.isdir(src):continueos.rename(src,str(i))

    i =1

    os.chkdir(path) 转换到目录path 下。

    os.system('md a') 可以直接创建目录。

    os.name字符串指示你正在使用的平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。● os.getcwd()函数得到当前工作目录,即当前Python脚本工作的目录路径。● os.getenv()和os.putenv()函数分别用来读取和设置环境变量。● os.listdir()返回指定目录下的所有文件和目录名。● os.remove()函数用来删除一个文件。● os.system()函数用来运行shell命令。● os.linesep字符串给出当前平台使用的行终止符。例如,Windows使用'rn',Linux使用'n'而Mac使用'r'。● os.path.split()函数返回一个路径的目录名和文件名。

    os.path.split('/home/swaroop/byte/code/poem.txt')

    ('/home/swaroop/byte/code', 'poem.txt')● os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。类似地,os.path.exists()函数用来检验给出的路径是否真地存在。

    文件重定向

    已有PY文件new1.py ,在命令行下输入:new1>new.txt 可以将new1运行的结果输出到文件new.txt,这称为流重定向。

    展开全文
  • importreimportjieba.analyseimportcodecsimportpandas as pddefsimplification_text(xianbingshi):"""提取文本"""xianbingshi_simplification=[]with codecs.open(xianbingshi,'r','utf8') as f:for line inf :line...

    importreimportjieba.analyseimportcodecsimportpandas as pddefsimplification_text(xianbingshi):"""提取文本"""xianbingshi_simplification=[]

    with codecs.open(xianbingshi,'r','utf8') as f:for line inf :

    line=line.strip()

    line_write= re.findall('(?<=\).*?(?=\)',line)for line inline_write:

    xianbingshi_simplification.append(line)

    with codecs.open(r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\code\xianbingshi_write.txt','w','utf8') as f:for line inxianbingshi_simplification:

    f.write(line+ '\n')defjieba_text():""""""word_list=[]

    data= open(r"C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\xianbingshi_write.txt", encoding='utf-8').read()

    seg_list= jieba.cut(data, cut_all=False) #精确模式

    for i inseg_list:

    word_list.append(i.strip())

    data_quchong= pd.DataFrame({'a':word_list})

    data_quchong.drop_duplicates(subset=['a'],keep='first',inplace=True)

    word_list= data_quchong['a'].tolist()

    with codecs.open('word.txt','w','utf8')as w:for line inword_list:

    w.write(line+ '\n')defword_messy(word):"""词语提炼"""word_sub_list=[]

    with codecs.open(word,'r','utf8') as f:for line inf:

    line_sub= re.sub("^[1-9]\d*\.\d*|^[A-Za-z0-9]+$|^[0-9]*$|^(-?\d+)(\.\d+)?$|^[A-Za-z0-9]{4,40}.*?",'',line)

    word_sub_list.append(line_sub)

    word_sub_list.sort()

    with codecs.open('word.txt','w','utf8')as w:for line inword_sub_list:

    w.write(line.strip("\n") + '\n')if __name__ == '__main__':

    xianbingshi= r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\yiwoqu\xianbingshi_sub_sen_all(1).txt'

    #simplification_text(xianbingshi)

    #word = r'C:\Users\Administrator.SC-201812211013\PycharmProjects\untitled29\word.txt'

    simplification_text(xianbingshi)

    展开全文
  • gcc 去除符号

    万次阅读 2015-07-03 17:41:02
    读取符号表 readelf -p .dynstr mylib.so 通过gcc控制可见性 __attribute__((visibility("hidden"))) int foo(int a, int b); __attribute__((visibility("default"))) int foo(int a, int b); ndk中控制 NDK_...

    读取符号表

    readelf -p .dynstr mylib.so


    通过gcc控制可见性

    __attribute__((visibility("hidden"))) int foo(int a, int b);
    __attribute__((visibility("default"))) int foo(int a, int b);


    ndk中控制

    NDK_ROOT/platforms/android-9/arch-arm/usr/include/jni.h

    #define JNIIMPORT
    #define JNIEXPORT  __attribute__ ((visibility ("default")))
    #define JNICALL

    修改LOCAL_CFLAGS选项加入-fvisibility=hidden


    隐藏那些局部符号名呢(t类型的符号)

    cmd-strip = $(TOOLCHAIN_PREFIX)strip --strip-debug -x $1


    https://gcc.gnu.org/wiki/Visibility

    http://my.huhoo.net/archives/2010/03/post-52.html

    展开全文
  • strip经常用来去除目标文件中的一些符号表、调试符号表信息,以减小程序的大小,在rpmbuild包的最后就用到。其支持的选项如下:>strip -h用法:strip 输入文件从文件中删除符号和节选项为:-I --input-target= ...

    strip经常用来去除目标文件中的一些符号表、调试符号表信息,以减小程序的大小,在rpmbuild包的最后就用到。

    其支持的选项如下:

    >strip -h

    用法:strip 输入文件

    从文件中删除符号和节

    选项为:

    -I --input-target=      Assume input file is in format

    -O --output-target=     Create an output file in format

    -F --target=            Set both input and output format to

    -p --preserve-dates              Copy modified/access timestamps to the output

    -R --remove-section=       Remove section from the output

    -s --strip-all                   Remove all symbol and relocation information

    -g -S -d --strip-debug           Remove all debugging symbols & sections

    --strip-unneeded              Remove all symbols not needed by relocations

    --only-keep-debug             Strip everything but the debug information

    -N --strip-symbol=         Do not copy symbol

    -K --keep-symbol=          Do not strip symbol

    --keep-file-symbols           Do not strip file symbol(s)

    -w --wildcard                    Permit wildcard in symbol comparison

    -x --discard-all                 Remove all non-global symbols

    -X --discard-locals              Remove any compiler-generated symbols

    -v --verbose                     List all object files modified

    -V --version                     Display this program's version number

    -h --help                        Display this output

    --info                        List object formats & architectures supported

    -o                         Place stripped output into

    strip:支持的目标: elf32-i386 a.out-i386-linux efi-app-ia32 elf32-little elf32-big elf64-alpha ecoff-littlealpha elf64-little elf64-big elf32-littlearm elf32-bigarm elf32-hppa-linux elf32-hppa elf64-ia64-little elf64-ia64-big efi-app-ia64 elf32-m68k a.out-m68k-linux elf32-powerpc aixcoff-rs6000 elf32-powerpcle ppcboot elf64-powerpc elf64-powerpcle aixcoff64-rs6000 elf32-s390 elf64-s390 elf32-sparc a.out-sparc-linux elf64-sparc a.out-sunos-big elf64-x86-64 pe-i386 pei-i386 srec symbolsrec tekhex binary ihex trad-core

    目标文件分为:可重定位文件、可执行文件、共享文件

    strip的默认选项会去除.symbol节的内容以及.debug节的内容,因此尽量只对可执行文件执行strip而不要对静态库或动态库等目标文件strip。

    测试代码如下:

    /* max.c */int max(int val1, int val2){  int iVal = (val1 > val2) ? val1 : val2;  return iVal;}

    /* min.c */int min(int val1, int val2){  int iVal = (val1 < val2) ? val1 : val2;  return iVal;}

    /* main.c */#include extern int max(int val1, int val2);extern int min(int val1, int val2);int main(){   int val1, val2;   scanf("%d  %d", &val1, &val2);   printf("%d\n", max(val1, val2));   printf("%d\n", min(val1, val2));}

    >gcc -c max.c min.c

    >ar rcs libcmp.a max.o min.o

    >gcc -o test main.c libcmp.a

    >gcc -share -fPIC -o libcmp.so max.c min.c

    >cp libcmp.a libcmp.a.bak

    >cp libcmp.so libcmp.so.bak

    >cp test test.orig

    >strip libcmp.a libcmp.so

    >strip test

    >ll -h

    总计 92K

    -rwxr-xr-x 1 6.9K a.out

    -rw-r--r-- 1 1.1K libcmp.a

    -rw-r--r-- 1 1.6K libcmp.a.bak

    -rwxr-xr-x 1 2.9K libcmp.so

    -rwxr-xr-x 1 5.3K libcmp.so.bak

    -rw-r--r-- 1  237 main.c

    -rw-r--r-- 1   89 max.c

    -rw-r--r-- 1  695 max.o

    -rw-r--r-- 1   89 min.c

    -rw-r--r-- 1  695 min.o

    -rwxr-xr-x 1 3.2K test

    -rwxr-xr-x 1 6.8K test.orig

    选项简释:

    The -fPIC flag directs the compiler to generate position independent code section).

    The -shared flag directs the linker to create a shared object file.

    可见无论是静态库(libcmp.a)还是动态库(libcmp.so)还是可执行文件(test),去掉一些符号信息后都减小了很多,

    但如果这时再链接这两个库的话是编不过的,因此,如果不是指定特殊的strip选项的话,还是尽量不要对库文件strip,

    只对链接后的可执行文件strip就可以了(如果也不调试)。

    展开全文
  • 、~@#¥%……&*()]+", " ", line) #去标点符号 seg_list=jieba.cut(line,cut_all=False) #结巴分词 outStr="" for word in seg_list: if word not in stopwords: outStr+=word outStr+=" " f2.write(outStr) line=...
  • python中怎么去掉标点符号

    千次阅读 2021-01-13 21:32:34
    既然是去掉标点符号,那当然是用正则表达式啦。正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个...
  • 如 I love jane who is a pretty girl. One day, I meet her on a sunshine morning... 打印为 I I One a a day girl her is jane love meet morning on pretty sunshine who IT技术系统性、完整视频教程2000G欢迎...
  • ['\xa0\xa0\xa0\xa0\ufeff\r', '\r', '\xa0\xa0\xa0\xa0九月初一,周宣带...\r', '\r'] 使用etree.HTML().xpath()爬出来的内容是一个列表,但是其中包含了这些符号,使用了多种方式都没有解决。如何只提取其中的文本?
  • 需求:去掉js字符串末尾的标点符号 原字符串: Hello World! 目标字符串: Hello World 方式一: stringObject.slice(start,end) start : 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始...
  • js 字符串去除特殊符号,去重

    千次阅读 2019-08-15 15:38:43
    去除特殊符号,使用的是 split() 去重利用的是index() 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-...
  • 主要给大家介绍了关于java去除空格、标点符号的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • js 正则去掉标点符号

    千次阅读 2020-05-14 17:45:25
    var str= str.replace(/[\ |\~|\`|\!|\@|\#|\$|\%|\^|\&|\*|\(|\)|\-|\_|\+|\=|\||\\|\[|\]|\{|\}|\;|\:|\"|\'|\,|\<|\.|\>|\/|\?/\,/\。/\;/\:/\“/\”/\》/\《/\|/\{/\}/\、/\!/\~/\`]/g,"") ...
  • java去除所有特殊符号/指定特殊符号

    千次阅读 2020-08-03 18:51:26
    /** * 去除所有特殊符号 * * @param symbol 特殊符号 * @param pretreatment 要处理的字符串 * @return */ public static String wipeAllSpecialSymbol(String symbol, String pretreatment) { if (EmptyUtil....
  • 在读文件时常常得到一些\n和引号之类的符号,可以使用字符串的成员函数strip()来去除。1.去除首尾不需要的字符a= '"This is test string"' # strip()会默认去除'\n','\r','\t',' ',制表回车换行和空格等字符a.strip...
  • php中去除特殊符号

    万次阅读 2018-11-12 09:29:05
    在php中,对于一些特殊...trim 去掉首尾符号 string trim(string $str[,string $charlist]) $str=&amp;quot;happy\n&amp;quot;;//此时必须用双引号 var_dump(trim($str)); 常用特殊符号有 \t,\n,\r,\...
  • 在处理文本的时候往往需要对标点符号进行处理: 导入python string类自带的标点符号 from string import punctuation s='不错!今天,也要"加油"哦?' dicts={i:'' for i in punctuation} punc_table=str.maketrans...
  • Java去掉标点符号的方法

    千次阅读 2019-04-02 18:53:57
    String str ="1,2,3.45"; str = str.replaceAll( "[\\pP+~$`^=|<>~`$^+=|¥×]" , "");
  • java string 去除所有特殊符号

    千次阅读 2019-10-05 07:26:19
    String s = "Loadin/Fillin"; char[] chars = s.toCharArray(); StringBuffer buffer=new StringBuffer(); for(int i = 0; i < chars.length; i ++) { if((chars...
  • 方法一String regEx="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。...//这里是将特殊字符换为aa字符串," "代表直接去掉Pattern p = Pattern.comp...
  • import re def remove(text): ...+"\'' # \ 无法去掉,空格可以去掉 text = re.sub(r'[{}]+'.format(punctuation), '', text) return text.strip().lower() text = " '[{!,; + ? Hello, wo...
  • 字符串去除特殊符号

    千次阅读 2018-11-09 16:44:32
    1.trim(去除空格等特殊符号) string trim ( string $str [, string $charlist ] ) 可以用var_dump进行输出 此函数返回字符串 str 去除首尾空白字符后的结果。如果不指定第二个参数, trim() 将去除这些字符: &...
  • 去除字符串中的相同的字符,此功能在开发过程中很实用,为此本文整理了一些,希望对你了解它有所帮助
  • import string
  • 今天小编就为大家分享一篇python3去掉string中的标点符号方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • #去除表情符号[敲打] def filter_emoji2(content): content = str(content) content2 = re.sub('\[.*?\]','',content) return content2 #只提取中文英文和数字 def pick_cn(content): content = str(content) ...
  • https广泛应用,现提供android下ndk导出独立工具链编译openssl动态库,并且可以去掉所编出动态库的符号软链接问题。
  •   由于标点符号会影响我们分词的效果,这里我着重了解学习了标点去除的方法,总结了有以下几种,欢迎大家补充???? 二、解决方案 以下描述了4种方法: import re import string sentence = "+今天=是!2021! 年/8...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 286,169
精华内容 114,467
关键字:

去除符号

友情链接: Logistics.zip