使用字符串时间格式函数strftime构造下一个字符串



通过将t设置为自1970年1月1日开始算起的本地时间1500,000秒开始UTC:

导入时间t=当地时间(1500000000)使用字符串时间格式函数strftime()构造下一个字符串:(a)"2017年7月13日,星期四"(b) "2017年7月13日中央夏令时下午09:40"(c) "我将在7月13日星期四晚上09:40与您会面。" p>有几件事,Stack Overflow不是代码审查的地方,因此:试试这个。

不管怎样,你都有缩进问题,Python是基于缩进的,你需要让函数中的代码在def前面缩进一个,就像这样:

def filesStringSearch():
infile = open('example.txt')
a = input('Search for a word: ')
result = infile.read().find(a)
#result = a.find:
#for a in infile:
if a.find:
print("True")
elif a < 3:
print("-1")
else:
print("False")
return

第二,您没有使用函数进行输入,并且对要打开的文件进行硬编码;然而,这是一个简单的解决方案,

def filesStringSearch(filename):
infile = open(filename)

第三,如果输入的length小于3,那么您甚至不应该尝试搜索任何内容,因此您需要重新排序并稍微更改布尔表达式;到此:

if len(a) < 3:
print("-1")
elif a.find:
print("True")
else:
print("False")

最后,a.find将不起作用,相反,您可以检查结果的值,因此您可以将elif: a.find替换为:

elif result != -1:
print("True")

因为如果找不到任何东西,结果将是-1。

此外,返回在最后是无用的。

根据您的问题,正确的实现是:

def filesStringSearch(filename, pattern):
with open(filename, 'r') as f:
text = f.read()
if len(pattern) >= 3:
return text.find(pattern) > -1 or False
else:
return -1
filename = 'example.txt'
pattern_to_find = input('Search for a word: ')
out = filesStringSearch(filename, pattern_to_find)
print(out)

如果您被要求编写一个接受两个自变量的函数,那么您的函数必须接受两个参数,如下所示:

def filesStringSearch(filename, pattern):

然后您必须读取该文件,我使用with语句进行了读取。with语句将为我们关闭我们的文件,因此您不必手动执行此操作(是的,您忘记关闭打开的文件,目前这不是什么大问题,但在大型项目中应避免此类操作)。你可以在那里阅读更多关于声明:读取和写入文件

find方法怎么样。这是一个字符串方法,它将返回字符串中找到的子字符串的索引,例如my_string.find('h')将返回my_string字符串中第一个子字符串(即"h")的索引。如果find方法找不到子字符串,它将返回-1,这就是我们这样做的原因:

return text.find(pattern) > -1 or False

就好像我们会在文本中找到我们的模式一样,那么索引肯定会大于-1。否则,根据您的问题,如果模式字符串的长度小于3,我们将返回False-1

最后,我们从用户那里获取输入,并将该输入传递给我们的函数,文件名为example.txt。我们将函数的返回值存储在out变量中,然后将其打印为

最新更新