我正试图杀死一个进程(特别是iChat).在命令行中,我使用以下命令:
ps -A | grep iChat
Run Code Online (Sandbox Code Playgroud)
然后:
kill -9 PID
Run Code Online (Sandbox Code Playgroud)
但是,我不确定如何将这些命令转换为Python.
以下python脚本允许我使用正则表达式从给定文件中删除电子邮件地址.
我怎么能添加这个以便我也可以获得电话号码?比如说,如果它是7位数或10位数(带区号),还算括号括号?
我目前的脚本可以在下面找到:
# filename variables
filename = 'file.txt'
newfilename = 'result.txt'
# read the file
if os.path.exists(filename):
data = open(filename,'r')
bulkemails = data.read()
else:
print "File not found."
raise SystemExit
# regex = something@whatever.xxx
r = re.compile(r'(\b[\w.]+@+[\w.]+.+[\w.]\b)')
results = r.findall(bulkemails)
emails = ""
for x in results:
emails += str(x)+"\n"
# function to write file
def writefile():
f = open(newfilename, 'w')
f.write(emails)
f.close()
print "File written."
Run Code Online (Sandbox Code Playgroud)
正则表达式的电话号码:
(\d{3}[-\.\s]\d{3}[-\.\s]\d{4}|\(\d{3}\)\s*\d{3}[-\.\s]\d{4}|\d{3}[-\.\s]\d{4})
Run Code Online (Sandbox Code Playgroud)
电话号码的另一个正则表达式:
(?:(?:\+?1\s*(?:[.-]\s*)?)?(?:\(\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\s*\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\s*(?:[.-]\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\s*(?:[.-]\s*)?([0-9]{4})(?:\s*(?:#|x\.?|ext\.?|extension)\s*(\d+))?
Run Code Online (Sandbox Code Playgroud) 我正在运行Mac OS X环境,习惯使用〜/来提供对当前用户目录的访问.
例如,在我的python脚本中,我只是想尝试使用
os.chdir("/Users/aaron/Desktop/testdir/")
Run Code Online (Sandbox Code Playgroud)
但是想用
os.chdir("~/Desktop/testdir/")
Run Code Online (Sandbox Code Playgroud)
尝试运行时,我得到一个没有这样的文件或目录错误.有任何想法吗?
我正在尝试创建此脚本来检查计算机主机名,然后在主列表中搜索该值以返回csv文件中的相应值.然后打开另一个文件并找到替换.我知道这应该很简单,但之前没有在python中做过这么多.这是我到目前为止所拥有的......
masterlist.txt (tab delimited)
Name UID
Bob-Smith.local bobs
Carmen-Jackson.local carmenj
David-Kathman.local davidk
Jenn-Roberts.local jennr
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止创建的脚本
#GET CLIENT HOST NAME
import socket
host = socket.gethostname()
print host
#IMPORT MASTER DATA
import csv, sys
filename = "masterlist.txt"
reader = csv.reader(open(filename, "rU"))
#PRINT MASTER DATA
for row in reader:
print row
#SEARCH ON HOSTNAME AND RETURN UID
#REPLACE VALUE IN FILE WITH UID
#import fileinput
#for line in fileinput.FileInput("filetoreplace",inplace=1):
# line = line.replace("replacethistext","UID")
# print line
Run Code Online (Sandbox Code Playgroud)
现在,它只是设置打印主列表.我不确定列表是否需要解析并放入字典或什么.我真的需要弄清楚如何在第一个字段中搜索主机名,然后在第二列中返回该字段.
先谢谢你的帮助,亚伦
更新:我从masterlist.txt中删除了第194行和最后一行,然后重新运行了脚本.结果如下:
回溯(最近调用最后一次):
文件"update.py",第3行,用于csv.DictReader中的行(open(fname),delimiter ='\ …
我正在尝试使用值替换文件中的某些文本.一切正常,但是当我在文件完成后查看文件时,文件中的每一行后面都有一个新的(空白)行.我能做些什么来防止这种情况发生.
这是我拥有的代码:
import fileinput
for line in fileinput.FileInput("testfile.txt",inplace=1):
line = line.replace("newhost",host)
print line
Run Code Online (Sandbox Code Playgroud)
谢谢你,亚伦
我们在Ubuntu 16.04.1服务器上运行Jenkins(版本2.60.1).我们最近遇到的一个问题是我们经常得到错误" 设备上没有剩余空间 ".
我知道在使用Docker时需要进行严格的清理过程,因为文件会留下并占用不必要的空间.
我们使用CloudBees Docker Build and Publish插件来处理构建并推送到AWS ECS.我想删除所有未使用的图像.问题是如果我登录Jenkins实例(通过SSH)并尝试运行它提供的docker命令 - "无法连接到Docker守护程序.这个主机上是否运行了docker守护程序?"
我想我需要在Jenkins环境或插件的一部分中做到这一点?
有人之前处理过此事或有过一些建议吗? - 我真的很感激.
我有一个文件夹,包含一些文件,我想复制一个目录(这个文件夹也有一些我不想复制的文件).我知道有os.chdir("..")命令将我移动到目录.但是,我不确定如何将我需要的文件复制到此目录中.任何帮助将不胜感激.
更新:
这就是我现在拥有的:
from shutil import copytree, ignore_patterns
copytree("/Users/aaron/Desktop/test/", "/Users/aaron/Desktop/", ignore=ignore_patterns('*.py', '*.txt'))
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "update.py", line 61, in <module>
copytree("/Users/aaron/Desktop/test/", "/Users/aaron/Desktop/", ignore=ignore_patterns('*.py', '*.txt'))
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/shutil.py", line 146, in copytree
os.makedirs(dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/os.py", line 157, in makedirs
mkdir(name, mode)
OSError: [Errno 17] File exists: '/Users/aaron/Desktop/'
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用file_get_contents.I确保在php.ini中启用了allow_url_fopen.截至目前,它告诉我:
[function.file-get-contents]:无法打开流:HTTP请求失败!HTTP/1.1 401未经授权
我正在做的就是以下内容,我可以通过浏览器访问它而没有任何问题.
$url=('http://site/@api/users/=john_smith@site.com/properties');
$xmlString=file_get_contents($url);
Run Code Online (Sandbox Code Playgroud)
我相信这是一个身份验证问题,但不确定如何从脚本本身提供正确的凭据.任何想法将不胜感激.